defaultdict - Le Chiavi Mancanti Ritornano Un Valore Predefinito
Scopo: defaultdict
consente al chiamante di specificare in anticipo il valore predefinito, quando il contenitore viene inizializzato.
Il tipo dict
standard include il metodo setdefault()
per recuperare un valore e impostarne uno predefinito se detto valore non esiste. Di contro, defaultdict
consente al chiamante di specificare in anticipo il valore predefinito, quando il contenitore viene inizializzato .
# collections_defaultdict.py
import collections
def default_factory():
return 'valore predefinito'
d = collections.defaultdict(default_factory, foo='bar')
print('d:', d)
print('foo =>', d['foo'])
print('bar =>', d['bar'])
La cosa funziona bene fintanto che è appropriato che tutte le chiavi usino lo stesso valore predefinito. Può essere particolarmente utile se il valore predefinito è un tipo usato per aggregare od accumulare valori, tipo list
, set
, o anche int
. La documentazione della libreria standard comprende diversi esempi per l'uso di defaultdict
in questo modo.
$ python3 collections_defaultdict.py d: defaultdict(<function default_factory at 0x7faa532188c8>, {'foo': 'bar'}) foo => bar bar => valore predefinito
Vedere anche:
- defaultdict
- La documentazione della libreria standard per questo modulo
- defaultdict examples
- Esempio dell'uso di defaultdict dalla documentazione della libreria standard
- Evolution of Default Dictionaries in Python
- Discussione sul blog di James Tauber di come
defaultdict
riporti diversi mezzi di inizializzazione di dizionari