python更新list中的每个dict对象



我有一个python问题

现在我有两个列表,我想更新列表中的每一个字典。我该怎么办?这是我的两个列表

list1 = [{'x': '2022-04-29 07:53:34'}, {'x': '2022-04-29 07:56:00'}, {'x': '2022-04-29 09:07:00'}, {'x': '2022-04-29 09:12:00'}, {'x': '2022-04-29 09:12:07'}, {'x': '2022-04-29 09:35:40'}, {'x': '2022-04-29 09:39:02'}, {'x': '2022-05-04 02:17:00'}, {'x': '2022-05-04 05:59:41'}, {'x': '2022-05-05 10:04:14'}, {'x': '2022-05-06 05:44:17'}]
list2 = [{'y': 0}, {'y': 1}, {'y': 2}, {'y': 3}, {'y': 4}, {'y': 5}, {'y': 6}, {'y': 7}, {'y': 8}, {'y': 9}, {'y': 10}] 

这两个列表的长度是相等的结果需要:

[{'x': '2022-04-29 07:53:34','y': 0},{x': '2022-04-29 07:56:00','y': 1}...]

有人能帮我一个忙吗?

试试这个:

for i in range(len(list1)):
list1[i].update(list2[i])

print(list1)

或者如果你不想修改list1,先做一个拷贝:

import copy
result = copy.deepcopy(list1)
for i in range(len(result)):
result[i].update(list2[i])
print(result)

输出:

[{'x': '2022-04-29 07:53:34', 'y': 0}, {'x': '2022-04-29 07:56:00', 'y': 1}, ...]

主要是更新list1的每个元素。您可以使用enumerate遍历列表。

for list in enumerate(list1):
list[1].update(list2[list[0]])
print(list1)

最新更新