[Python] setdefault nei dict
Daniele Varrazzo
piro a develer.com
Gio 15 Lug 2010 12:30:43 CEST
On Thu, 15 Jul 2010 12:11:47 +0200, Nicola Zanella <ing.zampa a gmail.com>
wrote:
> Ciao a tutti, scrivo perchè uso molto spesso il metodo setdefault dei
> dict,
> però anche googlando non sono riuscito a capire
> perchè quando come value si mette il valore di ritorno di una funzione,
> essa
> venga rieseguita ogni volta.
>
> Esempio:
>
>>>> a = {}
>>>> a
> {}
>>>> def fun1():
> ... print 'passed'
> ... return 3
> ...
>>>> a.setdefault(1, fun1())
> passed
> 3
>>>> a.setdefault(1, fun1())
> passed
> 3
>>>> a.setdefault(1, fun1())
> passed
> 3
>
>
> Qualcuno lo sa?
La stai eseguendo tu "a mano" scrivendo "fun1()", con le parentesi.
Prova a.setdefault(1, fun1)
Ciao!
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python