mapping function to vars
Steven Bethard
steven.bethard at gmail.com
Thu Dec 9 12:30:24 EST 2004
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
More information about the Python-list
mailing list