Si tengo d=dict(zip(range(1,10),range(50,61)))
cómo puedo construir un collections.defaultdict
fuera de la dict
?
El único argumento que defaultdict
parece tomar es la función de fábrica, ¿tendré que inicializar y luego revisar el original d
y actualizar el defaultdict
?
python
dictionary
Karthick
fuente
fuente
default_dict = defaultdict(None,{"a":1,"b":{"c":3}})
por ejemplo,default_dict["e"]
genera un KeyError en lugar de devolver NoneNone
no significa que generará None para claves desconocidas, no usará una en absoluto. Tienes que hacerlodefaultdict(lambda: None, {....})
Puede construir un defaultdict a partir de dict, pasando el dict como segundo argumento.
from collections import defaultdict d1 = {'foo': 17} d2 = defaultdict(int, d1) print(d2['foo']) ## should print 17 print(d2['bar']) ## should print 1 (default int val )
fuente
defaultdict
es un método de colecciones que no devuelve un error de clave cuando el elemento no está presente.fuente