我有一个列表如下: n = [[1,2,3],[4,5,6,7,8,9]]
我想创建一个带有单个列表的函数(参见上文),并将属于它的所有子列表连接到一个列表中。
答案 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
但这并不是特别高效,对初学者来说非常简单。