Normalizing A Vector
ldo at geek-central.gen.new_zealand
Mon Aug 2 02:41:04 CEST 2010
In message <87k4oah1rp.fsf at dpt-info.u-strasbg.fr>, Alain Ketterlin wrote:
> Lawrence D'Oliveiro <ldo at geek-central.gen.new_zealand> writes:
>> No, I deliberately put it in that order to ensure that the value for l
>> can only ever be evaulated once.
> Try this (essentially equivalent to your code):
> def f():
> print "hello"
> return 1
> V = tuple( 1 for x in [1,2,3] for l in (f(),) )
> How many "hello"s do you see?
> Comprehension are not loops spelled backwards. The values in:
> whatever for i ... for j ...
> are the values produced by the equivalent code:
> for i ...
> for j ...
Damn. I thought that
e for i ... for j ...
was equivalent to
(e for i ...) for j ...
Looks like I was wrong.
More information about the Python-list