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