mapping function to vars

Steven Bethard steven.bethard at
Thu Dec 9 18:30:24 CET 2004

jahurt at 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 mailing list