可能重複:
Making a flat list out of list of lists in Python列表[[ 'A'],[ 'B']轉化爲[ '一個', 'B']
在python 3
,如何將列表[['a'], ['b']]
轉換爲['a','b']
?
我是一名初學者程序員,一直無法自己解決這個問題。
可能重複:
Making a flat list out of list of lists in Python列表[[ 'A'],[ 'B']轉化爲[ '一個', 'B']
在python 3
,如何將列表[['a'], ['b']]
轉換爲['a','b']
?
我是一名初學者程序員,一直無法自己解決這個問題。
試試這個:
a = [['a'],['b']]
a = [item for list in a for item in list]
print a
>>>['a', 'b']
這似乎是完美的工作!謝謝你們每一個人的幫助! –
嘗試:
[i[0] for i in [['a'], ['b']]
>>> ['a','b']
2個元素子列表呢? –
這對'[['a','b'],['c','d']]'不起作用。 –
@AshwiniChaudhary這條線的工作取決於被問到的問題。 – alexvassel
使用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問題測試)
怎麼樣 - 'sum(l,[])'? –
@RohitJain這也是可能的,但可能不如'itertools'高效。 – arshajii
嗯。那麼,沒有關於性能的想法。所以,我會說明你的觀點。 –
查找「扁平化列表」。 – 2012-11-24 22:33:26
除了它是重複的,你有什麼嘗試? – phant0m