La clase collections.defaultdicttoma una fábrica predeterminada, utilizada para generar un valor predeterminado.
Si los valores contenidos en el dictobjeto -like deberían ser predeterminados False, la instancia se puede crear como:
d_false = defaultdict(bool)
¿Cuál es la forma más pitónica de lograr lo mismo para un valor predeterminado de True?
En otros términos, ¿hay un retorno de objeto invocable estándar Trueque se utiliza idiomáticamente como pariente de bool?
Por supuesto, la fábrica podría construirse como una expresión lambda:
d_true = defaultdict(lambda: True)
pero esto podría estar reinventando la rueda.
int() == 0, list() == [], str() == '', etc. Así que no creo que haya una manera estándar de hacer esto.
lambda: valueconstrucción es la forma idiomática pitónica de construir un dict con un valor estático predeterminado; No conozco una forma más simple de hacer que una función regrese True.
object()es Truthy - no estoy seguro si eso es útil
lambda: Trueestá bien siempre y cuando no necesite encurtir ese defecto predeterminado.