2013-04-12 48 views
1

我想轉換加入列表和元組在Python

[(3L, (2L,)), (108L, (11L,))] 

(3L, (2L,), 108L, (11L,)) 

我試圖用這個代碼來做到這一點

["".join(map(str, val)) for val in list] 

和我的輸出變

('3(2L,)', '108(11L,)') 

我該如何正確轉換此.. ..?

謝謝!

回答

2
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,)) 
+0

'l'可以用'1'混淆。建議不要使用這個名字 – jamylak

+0

@jamylak:夠公平的。改變。 – NPE

1

另一種選擇是從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,)) 
1
import itertools 

L = [(3L, (2L,)), (108L, (11L,))] 
tuple(chain.from_iterable(L))