[英]How combine two list in list into one list?
假设我有:
A = [[a,b,c,d],[1,2,3,4]]
B = [[1.2,1.7],[1.6,1.8]]
我想将 2 个列表合并为一个列表
C = [[a,b,c,d,1.2,1.7],[1,2,3,4,1.6,1.8]]
我怎样才能在 Python 中做到这一点? 谢谢
使用extend()
方法将一个列表的元素连接到另一个列表,然后将此结果列表附加到最终列表。
for i in range(len(a)):
a[i].extend(b[i])
c.append(a[i])
有很多不同的方式来组合两个列表。
您可以将两个列表添加在一起:
[1,2,3] + [4,5,6]
会给你:
[1,2,3,4,5,6]
您可以将列表附加到列表列表:
[[1,2,3],[4,5,6]].append([7,8,9])
会给你:
[[1,2,3],[4,5,6],[7,8,9]]
您也可以压缩两个列表:
zip([1,2,3],[4,5,6])
会给你:
[(1,4),(2,5),(3,6)]
看起来您正在寻找的是:
C = []
for sublist_1, sublist_2 in zip(A, B):
C.append(sublist_1 + sublist_2)
或者更紧凑地使用列表理解:
C = [sublist_1 + sublist_2 for sublist_2, sublist_2 in zip(A,B)]
您可以为此使用zip
和itertools.starmap
In [110]: A
Out[110]: [[2, 4, 5, 6], [1, 2, 3, 4]]
In [111]: B
Out[111]: [[1.2, 1.7], [1.6, 1.8]]
In [112]: import itertools
In [113]: list(itertools.starmap(lambda x,y:x+y,zip(A,B)))
Out[113]: [[2, 4, 5, 6, 1.2, 1.7], [1, 2, 3, 4, 1.6, 1.8]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.