我有一个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)