Есть ли способ сделать defaultdict также по умолчанию для defaultdict? (т.е. рекурсивный defaultdict с бесконечным уровнем?)
Я хочу иметь возможность:
x = defaultdict(...stuff...)
x[0][1][0]
{}
Итак, я могу сделать x = defaultdict(defaultdict)
, но это только второй уровень:
x[0]
{}
x[0][0]
KeyError: 0
Есть рецепты, которые позволяют это сделать. Но можно ли это сделать, просто используя обычные аргументы defaultdict?
Обратите внимание, что здесь спрашивается, как сделать рекурсивный defaultdict бесконечного уровня, поэтому он отличается от Python: defaultdict of defaultdict?< /em>, как сделать двухуровневый defaultdict.
Я, вероятно, просто закончу тем, что использую шаблон bunch, но когда я понял, что не знаю, как это сделать, это меня заинтересовало.