连接子列表python

时间:2013-06-17 07:10:11

标签: python list

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

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

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

>>> 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]

答案 2 :(得分:1)

为了完整起见,这是一个非常简短的方法来写这个

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

但是虽然它很诱人,但你不应该因为它具有二次性能。即,在添加每个术语时创建新列表,并且将反复复制所有先前的项目

可以使用list.extend

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

答案 3 :(得分:0)

你也可以简单地连接:

print n[0]+n[1]

一般来说,这将是:

def concatenate(list):
    x=[]
    for i in list:
        x+=i
    return x

但这并不是特别高效,对初学者来说非常简单。