MrO*_*Sir 0 python dictionary list
我有两个字典列表:
a = [{'id': 1}, {'id': 2}, {'id': 3}, {'id': 4}]
b = [{'id': 1, 'name': 'test'}, {'id': 2, 'name': 'test'}, {'id': 3, 'name': 'test'}, {'id': 4, 'name': 'test'}, {'id': 5, 'name': 'test'}]
Run Code Online (Sandbox Code Playgroud)
我需要使用by key的字典中的akey更新字典。我预期的结果:'name'b'id'
a = [{'id': 1, 'name': 'test'}, {'id': 2, 'name': 'test'}, {'id': 3, 'name': 'test'}, {'id': 4, 'name': 'test'}]
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
您应该首先在 list 中创建字典的“索引” b,然后可以a使用列表理解更新列表:
ib = { d["id"]:d for d in b }
a = [ {**d,**ib.get(d["id"],{})} for d in a ]
Run Code Online (Sandbox Code Playgroud)