繁体   English   中英

将列表元素追加到python中的列表列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM