Добавление результатов цикла for к тому же ключу во вложенном словаре - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть словарь, в котором есть несколько под-словарей.Каждый под-словарь имеет много ключей.После запуска цикла for с условием if генерируются результаты.Я хочу добавить ВСЕ результаты под нужным ключом;но все, что на самом деле делает мой код, это добавляет результат последней итерации цикла, тем самым заменяя значение предыдущей итерации.

Но, на самом деле, я хочу напечатать все результаты.

for item in list1:          #item is a tuple & list1 has tuples in it
   if item == node_pair:        #node pair is another tuple
        high_p[i]["links"] = link_name           #"links" is the key 

желаемый результат: "links": [link_name1, link_name2, link_name3]
что я получаю:

"links" : link_name3

Пожалуйста, ведите меня ..

1 Ответ

0 голосов
/ 25 сентября 2018

Таким образом, каждый под-словарь должен иметь списки в качестве значений.Вы можете заранее заполнить каждый подсловарь списками заранее, но их проще создавать по требованию, используя setdefault.

for item in list1:
   if item == node_pair:
        high_p[i].setdefault("links", []).append(link_name)
...