此函数有一个嵌套循环。外部循环遍历字典列表。内环
再次遍历字典列表,检查当前字典的id是否正确
已经在字典列表中了。如果不是,它会将字典添加到
字典。如果是,它会使用以下内容更新字典列表中的字典:
当前的字典。
lst = [
{"id": 1, "fname": "John"},
{"id": 2, "name": "Bob"},
{"id": 1, "lname": "Mary"},
]
def combine_dicts(lst):
res = []
for d in lst:
if d.get("id") not in [x.get("id") for x in res]:
res.append(d)
else:
for r in res:
if r.get("id") == d.get("id"):
r.update(d)
return res
print(combine_dicts(last))
# output: [{'id': 1, 'fname': 'John', 'lname': 'Mary'}, {'id': 2, 'name': 'Bob'}]