有没有办法将参数列表转换为列表?从参数列表中创建列表
财产以后这样的:
list(*arguments)
这么想的工作,因为名单()取至多说法...
我尝试施放元组的元组到列表
list(('a', *('b', 5))
dosent work at all ...
有没有办法将参数列表转换为列表?从参数列表中创建列表
财产以后这样的:
list(*arguments)
这么想的工作,因为名单()取至多说法...
我尝试施放元组的元组到列表
list(('a', *('b', 5))
dosent work at all ...
对于元组的元组,例如
a = ((1, 2), (3, 4), (5, 6))
获取它变成一个列表取决于你期待什么列表 - 您可以通过元组直入list
(它需要的任何可迭代),以获得元组的列表:
>>> list(a)
[(1, 2), (3, 4), (5, 6)]
相反,如果你要扁平列表,你想itertools.chain
- 它给你一台发电机,但是你可以通过是到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]]
为了展平元组和单值的异质元组,它变得有点复杂 - 你想要做的就是把所有的单什么值转换为单长度元组或列表,然后它与上面的chain
示例相同。如果你只是想要扁平化元组,而不是,例如嵌套列表,你可以这样做:
>>> a = ('a', ('b', 'c'))
>>> list(itertools.chain.from_iterable(b if isinstance(b, tuple) else [b] for b in a))
['a', 'b', 'c']
那么只是'list(arguments)'? – JBernardo
你可以发布'print(arguments)'的输出吗? – Blender
可能的重复[Flatten(不规则)列表在Python中](http://stackoverflow.com/questions/2158395/flatten-an-irregular-list-of-lists-in-python) –