Как дополнить список в словаре?
У меня есть строка d[namesp] = {'variables': [arg]}, она находится в цикле, и мне нужно, чтобы 'variables' пополнялся новыми аргументами, а не присваивал каждый раз новое значение списку:
NUM = int(input())
d = {}
for i in range(NUM):
cmd, namesp, arg = input().split()
if cmd == 'add':
d[namesp] = {'variables': [arg]}
elif cmd == 'create':
d[namesp] = {'parent': arg}
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Вы сами практически ответили на свой вопрос. Не нужно каждый раз присваивать новое значение списку. Добавляйте новые элементы с помощью метода append:
d[namesp]['variables'].append(arg)
UPD:
Если ключ может не существовать в словаре, то можно воспользоваться методом setdefault, который в таком случае установит его со значение по умолчанию:
d.setdefault(namesp, {'variables': []})['variables'].append(arg)