mapping function to vars

jahurt at hotmail.com jahurt at hotmail.com
Thu Dec 9 12:44:55 EST 2004


Steven Bethard wrote:
> jahurt at hotmail.com wrote:
> > I need to map a function to several variables.  I'm trying to use
map
> > and lambda to do this.  Here's my attempt...
> >
> > #!/usr/bin/env python
> > from random import *
> >
> > [fee, fye, foe, fum] = map(lambda n: random(), range(4))
> >
> > print fee
> > print fye
> > print foe
> > print fum
> >
> > ...I'm essentially trying to map a function that takes no
parameters to
> > a group of variables.  This works, but pychecker complains about
the
> > 'n' parameter.  Is there a better way to do this?  TIA
> >
>
>  >>> import random
>  >>> fee, fye, foe, fum = [random.random() for _ in range(4)]
>  >>> fee, fye, foe, fum
> (0.39415235335694276, 0.43533547827112462, 0.47106288849970501,
> 0.87920678036897715)
>
> I don't know pychecker well enough, but I think it ignores variables
> named _, so I think you could also just switch your n with _.
> Personally, I find the list comprehension much more readable.
> 
> Steve

Thanks! This is exactly what I was after :)




More information about the Python-list mailing list