有沒有辦法將參數列表轉換爲列表?從參數列表中創建列表
財產以後這樣的:
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) –