2012-11-24 130 views

回答

3

試試這個:

a = [['a'],['b']] 

a = [item for list in a for item in list] 
print a 
>>>['a', 'b'] 
+0

這似乎是完美的工作!謝謝你們每一個人的幫助! –

2

嘗試:

[i[0] for i in [['a'], ['b']] 
>>> ['a','b'] 
+1

2個元素子列表呢? –

+1

這對'[['a','b'],['c','d']]'不起作用。 –

+3

@AshwiniChaudhary這條線的工作取決於被問到的問題。 – alexvassel

2

使用itertools,特別itertools.chain(這比制定自己做這件事的方式要好得多):

>>> l = [['a'], ['b']] 
>>> print(list(itertools.chain.from_iterable(l))) 
['a', 'b'] 

這比純粹的列表理解的解決方案更快:

$ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' '[item for sublist in l for item in sublist]' 
10000 loops, best of 3: 53.9 usec per loop 
$ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' 'list(itertools.chain.from_iterable(l))' 
10000 loops, best of 3: 29.5 usec per loop 

(改編自this問題測試)

+0

怎麼樣 - 'sum(l,[])'? –

+0

@RohitJain這也是可能的,但可能不如'itertools'高效。 – arshajii

+0

嗯。那麼,沒有關於性能的想法。所以,我會說明你的觀點。 –

相關問題