Как добавить значения в словарь по ключу, если значение - это список, который может и не существовать

Можно с проверкой есть ли уже такой ключ в словаре и если нету, то добавить пару ключ-значение. Иначе использовать метод append(). Но можно ли добавить новое значение в список по ключу, если не известно есть ли уже в словаре пара с таким ключом, при этом не использовать условие? Допустим через update(key: value), но тогда получается не список, а строка. А если в value взять в скобку [value], то значение будет не добавляться в список, а обновляться в списке (происходит замена старого значения на новое).


Ответы (2 шт):

Автор решения: n1tr0xs

Лучше всего использовать defaultdict:

from collections import defaultdict
d = defaultdict(list)
d['key'].append('val')

Если вы не можете использовать defaultdict:
Вариант 1.

d = dict()
d['key'] = d.get('key', []) + ['val']

Вариант 2

d = dict()
try:
    d['key'].append('val')
except KeyError:
    d['key'] = ['val']
→ Ссылка
Автор решения: Iurii Chulinin
d.setdafault('key', []).append('val')
→ Ссылка