Py学习  »  Parvesh Kumar  »  全部回复
回复总数  1
4 年前
回复了 Parvesh Kumar 创建的主题 » 比较python中字典列表中的值

此函数有一个嵌套循环。外部循环遍历字典列表。内环 再次遍历字典列表,检查当前字典的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'}]