重复:
让我们说我有一个嵌套列表的列表:
[["a","b","c"], ["d","e","f"], ["g","h","i","j"]...]
Run Code Online (Sandbox Code Playgroud)
将它转换为单个列表的最佳方法是什么?
["a", "b", "c", "d", "e"....]
Run Code Online (Sandbox Code Playgroud)
agf*_*agf 25
from itertools import chain
list(chain.from_iterable(list_of_lists))
Run Code Online (Sandbox Code Playgroud)
Aus*_*all 16
在itertools文档中有一个直接的例子(参见http://docs.python.org/library/itertools.html#recipes寻找flatten()),但它很简单:
>>> from itertools import chain
>>> list(chain(*x))
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Run Code Online (Sandbox Code Playgroud)
或者,它可以在单个列表理解中非常容易地完成:
>>> x=[["a","b","c"], ["d","e","f"], ["g","h","i","j"]]
>>> [j for i in x for j in i]
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Run Code Online (Sandbox Code Playgroud)
或者通过reduce():
>>> from operator import add
>>> reduce(add, x)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Run Code Online (Sandbox Code Playgroud)