2011-09-24 18 views
45

Se ho d=dict(zip(range(1,10),range(50,61))) come posso creare uno dello dict?Come costruire un defaultdict da un dizionario?

L'unico argomento defaultdict sembra essere la funzione di fabbrica, dovrò inizializzare e quindi passare attraverso l'originale d e aggiornare defaultdict?

risposta

47

Read the docs:

Il primo parametro fornisce il valore iniziale per l'attributo default_factory ; il valore predefinito è Nessuno. Tutti gli argomenti rimanenti sono trattati come se fossero stati passati al costruttore dict, inclusi gli argomenti delle parole chiave .

from collections import defaultdict 
d=defaultdict(int, zip(range(1,10),range(50,61))) 

o dato un dizionario d:

from collections import defaultdict 
d=dict(zip(range(1,10),range(50,61))) 
my_default_dict = defaultdict(int,d)