[Tutor] question about removing items from a list
Wed, 15 Aug 2001 10:21:00 -0700 (PDT)
On Wed, 15 Aug 2001, Lance E Sloan wrote:
> "Allan Crooks" wrote:
> > An even better way would be like this:
> > del lista[:]
> > That would delete all items within the list. Doing 'del lista' would
> > simply delete the list itself.
> What about:
> lista = 
> That would give the intended effect, but I wonder what happens to the
> original list that lista pointed to. Does it hang around in memory,
> or does Python's garbage collection get rid of it as soon as nothing
> points to it any longer?
Garbage collection: Python won't really delete things until they're
inaccessable to us.
>From one point of view, the really big difference between:
lista = 
is that 'del' will also remove the name from our namespace:
>>> lista = ['forth', 'eorlingas!']
>>> lista = 
>>> lista = ['there', 'is', 'no', 'spoon']
>>> del lista
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'lista' is not defined
So using 'del' depends on our expectation to use the name 'lista' later in