В другом коде я прочитал следующие две строки:
x = defaultdict(lambda: 0)
y = defaultdict(lambda: defaultdict(lambda: 0))
Поскольку аргумент defaultdict является значением по умолчанию factory, я думаю, что первая строка означает, что когда я вызываю x [k] для несуществующего ключа k (например, выражения типа v = x [k]), ключ -значная пара (k, 0) будет автоматически добавлена в словарь, как если бы сначала выполнялся оператор x [k] = 0. Правильно ли я?
А как насчет у? Кажется, что по умолчанию factory создаст defaultdict с дефолтом 0. Но что это значит конкретно? Я пытался поиграть с ним в оболочке Python, но не мог понять, что именно.