Есть ли способ сделать 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? , который заключался в том, как сделать двухуровневое определение по умолчанию.
Я, вероятно, просто воспользуюсь шаблоном связки , но когда я понял, что не знаю, как это сделать, это меня заинтересовало.