Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从参数列表创建列表_Python_List_Python 2.7_Arguments - Fatal编程技术网

Python 从参数列表创建列表

Python 从参数列表创建列表,python,list,python-2.7,arguments,Python,List,Python 2.7,Arguments,有没有办法将参数列表强制转换为列表 有点像: list(*arguments) 不起作用,因为list()最多接受1个参数 我试图将元组中的元组转换成一个列表 list(('a', *('b', 5)) 对于一个元组的元组,例如 a = ((1, 2), (3, 4), (5, 6)) 将其放入列表取决于您期望的列表-您可以直接将元组传递到list(需要任何iterable)以获取元组列表: >>> list(a) [(1, 2), (3, 4), (5, 6)] 相

有没有办法将参数列表强制转换为列表

有点像:

list(*arguments)
不起作用,因为list()最多接受1个参数

我试图将元组中的元组转换成一个列表

list(('a', *('b', 5)) 

对于一个元组的元组,例如

a = ((1, 2), (3, 4), (5, 6))
将其放入列表取决于您期望的列表-您可以直接将元组传递到
list
(需要任何iterable)以获取元组列表:

>>> list(a)
[(1, 2), (3, 4), (5, 6)]
相反,如果您想要一个扁平列表,那么您需要-它将为您提供一个生成器,但您可以将其传递到
list
以获取列表:

>>> import itertools
>>> list(itertools.chain.from_iterable(a))
[1, 2, 3, 4, 5, 6]
如果需要列表列表,则需要列表理解:

>>> [list(b) for b in a]
[[1, 2], [3, 4], [5, 6]]
要展平由元组和单个值组成的异构元组,它会变得更复杂一些-您要做的是将所有单个值转换为单长度元组或列表,然后它与上面的
示例相同。如果您只想展平元组,而不想展平嵌套列表,则可以执行以下操作:

>>> a = ('a', ('b', 'c'))
>>> list(itertools.chain.from_iterable(b if isinstance(b, tuple) else [b] for b in a))
['a', 'b', 'c']

只列出(参数)?你能发布打印(参数)的输出吗?chain()是否支持将整数与字符混合?是的,虽然不是那样。它不关心您给它的任何iterables中有什么,但它的所有参数都必须是iterables(字符串是,整数不是)list(chain('a',[5])gives
['a',5]