Roulette wheel

Gabriel Genellina gagsl-py2 at
Thu Mar 19 12:55:07 CET 2009

En Thu, 19 Mar 2009 08:06:35 -0200, mattia <gervaz at> escribió:

> OK, understood. Now, as a general rule, is it correct to say:
> - use generator expression when I just need to iterate over the list or
> call a function that involve an iterator (e.g. sum) and get the result,
> so the list is not necessary anymore
> - use list comprehensions when I actually have to use the list (e.g. I
> need to swap some values or I need to use sorted() etc.)
> Am I right?

Yes, at least that's how I use them: a generator expression when the  
elements are consumed one by one in
the same moment, and a list comprehension when I actually want the list as  
a whole.

(Note that sorted() has to return a new list anyway, its argument may be a  
gen.expr. but sorted() starts by making a list out of it; you may be  
thinking of the list.sort() method)

Gabriel Genellina

More information about the Python-list mailing list