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