La classe collections.defaultdictaccetta un factory predefinito, utilizzato per generare un valore predefinito.
Se i valori contenuti dictnell'oggetto -like devono essere predefiniti False, l'istanza può essere creata come:
d_false = defaultdict(bool)
Qual è il modo più pitonico per ottenere lo stesso per un valore predefinito di True?
In altri termini, esiste un oggetto richiamabile standard Trueche viene usato idiomaticamente come parente di bool?
Naturalmente, la fabbrica potrebbe essere costruita come espressione lambda:
d_true = defaultdict(lambda: True)
ma questo potrebbe reinventare la ruota.
int() == 0, list() == [], str() == '', ecc Quindi non credo che ci sia un modo standard per fare questo.
lambda: valuecostrutto è il modo idiomatico di Pythonic per costruire un dict con un valore predefinito statico; Non conosco un modo più semplice per far tornare una funzione True.
object()è vero - non sono sicuro che sia utile
lambda: Trueva bene fintanto che non è necessario sottrarre tale difetto.