Структура словаря:
storage = {}
storage['first'] = {}
storage['middle'] = {}
storage['last'] = {}
Первая вставка, сделанная в этот словарь:
me = 'Magnus Lie Hetland'
storage['first']['Magnus'] = [me]
storage['middle']['Lie'] = [me]
storage['last']['Hetland'] = [me]
Затем выполняются следующие операторы:
my_sister = 'Anne Lie Hetland'
storage['first'].setdefault('Anne', []).append(my_sister)
Согласно документации, setdefault
должен вставить ключ 'Anne'
со значением [] (New Empty list)
, а затем он должен добавить my_sister
. Итак, почему он добавляет my_sister
к уже существующему списку, а не создает новый список.