La classe collections.defaultdictprend une fabrique par défaut, utilisée pour générer une valeur par défaut.
Si les valeurs contenues dans l' dictobjet -like doivent avoir la valeur par défaut False, l'instance peut être créée comme suit:
d_false = defaultdict(bool)
Quelle est la manière la plus pythonique d'obtenir la même chose pour une valeur par défaut de True?
En d'autres termes, existe-t-il un objet appelable standard retournant Truequi est utilisé de manière idiomatique comme parent de bool?
Bien sûr, l'usine pourrait être construite comme une expression lambda:
d_true = defaultdict(lambda: True)
mais cela pourrait réinventer la roue.
int() == 0, list() == [], str() == '', etc. Je ne pense pas qu'il y ait un moyen standard pour le faire.
lambda: valueconstruction est la manière idiomatique Pythonic de construire un dict avec une valeur statique par défaut; Je ne connais aucun moyen plus simple d'obtenir le retour d'une fonction True.
object()c'est vrai - je ne sais pas si c'est utile
lambda: Trueest bien tant que vous n'avez pas besoin de décaper ce défaut.