Список во вложенном словаре в Python - PullRequest
0 голосов
/ 08 марта 2020

Я хочу вот что:

Dic = {'name':{'id':[1,2,3]}}

Я видел ответы о том, как это сделать, но те, которые я видел, требовали, чтобы список был известен при вставке. проблема в том, что я не знаю, когда мне нужно будет вставить в Dic['name']['id'].

Есть ли способ сделать что-то вроде этого Dic['name']['id'].append(0)?

Что я сделал раньше это было

Dic={}
Dic['name']=[] 
Dic['name'].append('id') 

, но теперь я должен также хранить некоторые значения ID, и это список значений.

Ответы [ 2 ]

1 голос
/ 08 марта 2020

Вы можете использовать defaultdict, чтобы получить то, что вы хотите, например:

from collections import defaultdict


d = {'name': defaultdict(list)}
d['name']['id'].append(0)
d['name']['id'].append(1)
d['name']['id'].append(2)

print(d)
>>> {'name': defaultdict(<class 'list'>, {'id': [0, 1, 2]})}


0 голосов
/ 08 марта 2020
Dic = {}
Dic['name'] = {}
Dic['name']['id'] = []
Dic['name']['id'].append(0)
print(Dic)

Этот сегмент кода дает следующий вывод

{'name': {'id': [0]}}

Я думаю, что этот вывод вам нужен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...