La classe collections.defaultdict
accetta un factory predefinito, utilizzato per generare un valore predefinito.
Se i valori contenuti dict
nell'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 True
che 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: value
costrutto è 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: True
va bene fintanto che non è necessario sottrarre tale difetto.