关于列表:连接子列表python

concatenating sublists python

本问题已经有最佳答案,请猛点这里访问。

我有一个列表,比如:N=[[1,2,3],[4,5,6,7,8,9]]

我想创建一个函数,它接受一个列表(见上文),并将它的所有子列表连接到一个列表中。


1
2
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
nn = [ x for y in n for x in y]

1
2
3
4
>>> lst = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
>>> from itertools import chain
>>> list(chain.from_iterable(lst))
[1, 2, 3, 4, 5, 6, 7, 8, 9]


对完全性,这里的冰很短的方式写。

1
2
>>> sum(n, [])
[1, 2, 3, 4, 5, 6, 7, 8, 9]

但是,尽管它是诱人的,你不应该因为它具有二次性能。IE的一个新的战略创造了冰的冰加为每个术语,和所有以前的项目将在copied鸭子

它的两个list.extend虽然好用

1
reduce(lambda x,y: x.extend(y) or x, n, [])

你可以做简单的城市也将:

1
print n[0]+n[1]

这将是通用的:

1
2
3
4
5
def concatenate(list):
    x=[]
    for i in list:
        x+=i
    return x

但这是不是特别有效,只是一beginner straightforward意识。