Почему при пустом словаре выходит ошибка KeyError: 2?
def update_dictionary(d, key, value):
if key in d:
d[key] += [value]
else:
d[key * 2] += [value]
d = {}
(update_dictionary(d, 1, -1))
print(d)
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Потому что, для оператора += нужно взять значение из словаря, чтобы произвести сложение в:
d[key * 2] += [value]
Т.е. оно на самом деле будет выглядеть примерно так:
d[key * 2] = d[key * 2] + [value]
Думаю, нужно просто присвоить по ключу:
d[key * 2] = [value]