Обратите внимание, что для вставки вам не нужно проверять ключ, и вы можете напрямую добавить его.Но defaultdict может быть использован.Это особенно полезно в случае таких значений, как списки.
from collections import defaultdict
data = defaultdict(dict)
data['key']['nested_key'] = some_value
defaultdict гарантирует, что вы никогда не получите ошибку ключа.Если ключ не существует, он возвращает пустой объект того типа, с которым вы его инициализировали.
Пример на основе списка:
from collections import defaultdict
data = defaultdict(list)
data['key'].append(1)
, что в противном случае должно быть выполнено следующим образом:ниже:
data = {}
if 'key' not in data:
data['key'] = ['1']
else:
data['key'].append('2')
Пример на основе существующего dict:
from collections import defaultdict
data = {'key1': 'sample'}
data_new = defaultdict(dict,data)
data_new['key']['something'] = 'nothing'
print data_new
Вывод:
defaultdict(<type 'dict'>, {'key1': 'sample', 'key': {'something': 'nothing'}})