Roulette wheel

Gabriel Genellina gagsl-py2 at
Thu Mar 19 02:31:09 CET 2009

En Wed, 18 Mar 2009 18:49:19 -0200, mattia <gervaz at> escribió:
> Il Wed, 18 Mar 2009 13:20:14 -0700, Aahz ha scritto:
>> In article <49c1562a$0$1115$4fafbaef at>, mattia
>> <gervaz at> wrote:
>>> Yeah, and I believe that we can say the same for: 1 - t = [x*2 for x in
>>> range(10)]
>>> 2 - t = list(x*2 for x in range(10))
>>> or not?
>> The latter requires generator expressions, which means it only works
>> with Python 2.4 or higher.  Personally, I think that if the intent is to
>> create a list you should just use a listcomp instead of list() on a
>> genexp.
> Ok, so list(x*2 for x in range(10)) actually means: list((x*2 for x in
> range(10)) --> so a generator is created and then the list function is
> called?

Exactly. The (()) were considered redundant in this case.

> Also, dealing with memory, [...] will be deleted when the
> reference will be no longer needed and with list(...)... well, I don't
> know? I'm new to python so sorry if this are nonsense.

I don't completely understand your question, but *any* object is destroyed  
when the last reference to it is gone (in CPython, the destructor is  
called at the very moment the reference count reaches zero; other
implementations may behave differently).

Gabriel Genellina

More information about the Python-list mailing list