У меня есть список словарей.Давайте назовем это: list_of_dict
.Словари в списке имеют вид:
{'a' : 1,
'b' : 5,
'c' : 3,
'd' : 6}
и
{'a' : 3,
'f' : 2,
'g' : 1,
'h' : 3,
'i' : 5,
'j' : 3}
У меня есть еще один список с именем list_to_match
, который содержит только несколько букв: ['a', 'f', 'x']
Мне нужно перебрать list_of_dict
и найти ключи, которые соответствуют элементу в списке, и добавить значения в пустой стандартный список элементов списка.Если файл не найден, добавьте к списку 0.
defaultdict
инициализируется как:
d = collections.defaultdict(list)
Я хочу, чтобы конечный вариант defaultdict выглядел следующим образом:
{'a' : [1, 3],
'f' : [0, 2],
'x' : [0, 0]}
Пока что у меня есть:
for ld in list_of_dict:
for match in list_to_match:
for k, v in ld.items():
d[match].append(v)
d[match].append(0)
Теперь все это работает отдельно от последней строки, потому что, очевидно, совпадения в этой области не существует.Теперь все, что я получаю в defaultdict:
{'a' : [1, 3],
'f' : [2]}
Отсутствует 0, равно как и x.Как мне это исправить?