У меня есть два списка диктов,
Скажем,
required = [
{"name": "a", "req_Key": "a"},
{"name": "b", "req_Key": "b"},
{"name": "c", "req_Key": "c"},
{"name": "d", "req_Key": "d"}
]
updated = [
{"name": "a", "output_id": "Oa"},
{"name": "d", "output_id": "Od"}
]
Теперь мне нужно обновить required
диктов по сравнению с updated
диктов,
Таким образом, вывод будет выглядеть так:
[
{'req_Key': 'a', 'name': 'a', 'output_id': 'Oa'},
{'req_Key': 'b', 'name': 'b'},
{'req_Key': 'c', 'name': 'c'},
{'req_Key': 'd', 'name': 'd', 'output_id': 'Od'}
]
Я использую циклы для этого, но как я могу сделать это эффективно, избегая циклов?
Пример кода:
required = [{"name":"a","req_Key":"a"},{"name":"b","req_Key":"b"},{"name":"c","req_Key":"c"},{"name":"d","req_Key":"d"}]
updated = [{"name":"a","output_id":"Oa"},{"name":"d","output_id":"Od"}]
for updated_record in updated:
for req_record in required:
if updated_record["name"] == req_record["name"]:
req_record.update(updated_record)
print(req_record)
Работает, но мне нужен лучший и эффективный метод.