Как дополнить список в словаре?

У меня есть строка 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)
→ Ссылка