У меня есть 2 списка словарей Python.Первый список Python выглядит следующим образом:
l1= [{'compu_method': 'ROTACC', 'aufloesung': '1024'},
{'compu_method': 'TMPOUTS', 'aufloesung': '1'}]
Второй список Python выглядит следующим образом:
l2= [{'signal_name': 'XXXX', 'compu_method': 'ROTACC', 'min_wert': '-500', 'max_wert': '500'},
{'signal_name': 'YYYY', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184'},
{'signal_name': 'ZZZZ', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184'}]
Оба списка имеют compu_method common.Я хочу aufloesung из первого списка для всех compu_method , который существует во втором списке.Я хотел бы получить окончательный список, подобный этому:
[{'signal_name': 'XXXX', 'compu_method': 'ROTACC', 'min_wert': '-500', 'max_wert': '500','aufloesung': '1024'},
{'signal_name': 'YYYY', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184','aufloesung': '1'},
{'signal_name': 'ZZZZ', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184','aufloesung': '1'}]
Я попробовал приведенный ниже код, но он не дает желаемого результата:
from collections import defaultdict
d = defaultdict(dict)
for l in (l1, l2):
for elem in l:
d[elem['compu_method']].update(elem)
l3 = d.values()
print(l3)
Какие изменения необходимы в коде?