parameters to lambda's executed at run time.

Marco Mariani marco at sferacarta.com
Tue May 6 08:15:33 EDT 2008


Boris Borcic wrote:

> One way :
> 
>  >>> from functools import partial
>  >>> def func(item) : print item
> 
>  >>> llist = [partial(func,item) for item in range(5)]
>  >>> for thing in llist : thing()
> 
> 0
> 1
> 2
> 3
> 4

Another way:


class Func(object):
     def __init__(self, item):
         self.item = item
     def __call__(self):
         print self.item

llist = [Func(item) for item in range(5)]
for thing in llist: thing()




More information about the Python-list mailing list