[英]Append list elements to list of lists in python
给出以下列表:
list1 = [[1, 2],
[3, 4],
[5, 6],
[7, 8]]
list2 = [10, 11, 12, 13]
更改list1
使其成为python中的以下列表的最佳方法是什么?
[[1, 2, 10],
[3, 4, 11],
[5, 6, 12],
[7, 8, 13]]
您可以使用zip
:
[x + [y] for x, y in zip(list1, list2)]
# [[1, 2, 10], [3, 4, 11], [5, 6, 12], [7, 8, 13]]
要在适当位置修改list1
,您可以执行以下操作:
for x, y in zip(list1, list2):
x.append(y)
list1
# [[1, 2, 10], [3, 4, 11], [5, 6, 12], [7, 8, 13]]
或者,如果您使用的是Python> = 3.5,则在zip
后具有解zip
理解:
>>> l = [[*i, j] for i,j in zip(list1, list2)]
>>> print(l)
[[1, 2, 10], [3, 4, 11], [5, 6, 12], [7, 8, 13]]
当然,如果列表大小可能不同,最好使用itertools
zip_longest
来优雅地处理多余的元素。
for i in range(len(list1)):
list1[i] += [list2[i]]
print(list1)
输出量
[[1, 2, 10], [3, 4, 11], [5, 6, 12], [7, 8, 13]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.