2011-09-24 12 views
45

Si tengo d=dict(zip(range(1,10),range(50,61))) ¿cómo puedo construir un collections.defaultdict del dict?¿Cómo construir un default de un diccionario?

El único argumento defaultdict parece tomar es la función de fábrica, voy a tener que inicializar y luego pasar por el original d y actualizar el defaultdict?

Respuesta

47

Read the docs:

El primer argumento proporciona el valor inicial para el atributo default_factory ; por defecto es Ninguno. Todos los argumentos restantes se tratan de la misma manera que si se pasaran al constructor dict, incluidos los argumentos de palabras clave .

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

O dado un diccionario d:

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