我想轉換加入列表和元組在Python
[(3L, (2L,)), (108L, (11L,))]
到
(3L, (2L,), 108L, (11L,))
我試圖用這個代碼來做到這一點
["".join(map(str, val)) for val in list]
和我的輸出變
('3(2L,)', '108(11L,)')
我該如何正確轉換此.. ..?
謝謝!
我想轉換加入列表和元組在Python
[(3L, (2L,)), (108L, (11L,))]
到
(3L, (2L,), 108L, (11L,))
我試圖用這個代碼來做到這一點
["".join(map(str, val)) for val in list]
和我的輸出變
('3(2L,)', '108(11L,)')
我該如何正確轉換此.. ..?
謝謝!
In [11]: lst = [(3L, (2L,)), (108L, (11L,))]
In [12]: tuple(el for subl in lst for el in subl)
Out[12]: (3L, (2L,), 108L, (11L,))
另一種選擇是從itertools chain:
In [1]: from itertools import chain
In [2]: a = [(3L, (2L,)), (108L, (11L,))]
In [3]: tuple(chain(*a))
Out[3]: (3L, (2L,), 108L, (11L,))
import itertools
L = [(3L, (2L,)), (108L, (11L,))]
tuple(chain.from_iterable(L))
'l'可以用'1'混淆。建議不要使用這個名字 – jamylak
@jamylak:夠公平的。改變。 – NPE