2012-06-06 12 views

Respuesta

56

El argumento de default es una función (o más bien, un objeto invocable) que devuelve el valor predeterminado. Entonces puedes pasar un lambda que devuelve tu valor predeterminado deseado.

>>> from collections import defaultdict 
>>> d = defaultdict(lambda: 'My default') 
>>> d['junk'] 
'My default' 

Editado para explicar lambda:

lambda es sólo una abreviatura para la definición de una función sin darle un nombre. Se podría hacer lo mismo con una definición explícita:

>>> def myDefault(): 
...  return 'My default' 
>>>> d = defaultdict(myDefault) 
>>> d['junk'] 
'My default' 

Ver the documentation para obtener más información.

Cuestiones relacionadas