mapping function to vars
steven.bethard at gmail.com
Thu Dec 9 18:30:24 CET 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,
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.
More information about the Python-list