python 更新列表中的每个字典对象

python update each dict object in list

我在 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的每个元素。您可以使用枚举来遍历列表。

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