gagsl-py2 at yahoo.com.ar
Thu Mar 19 02:31:09 CET 2009
En Wed, 18 Mar 2009 18:49:19 -0200, mattia <gervaz at gmail.com> escribió:
> Il Wed, 18 Mar 2009 13:20:14 -0700, Aahz ha scritto:
>> In article <49c1562a$0$1115$4fafbaef at reader1.news.tin.it>, mattia
>> <gervaz at gmail.com> wrote:
>>> Yeah, and I believe that we can say the same for: 1 - t = [x*2 for x in
>>> 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
> 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
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).
More information about the Python-list