???? i can`t understand it
Smille Purusa
Smille at mail.com
Mon Aug 11 19:18:55 EDT 2003
Enrique wrote:
>>>> a=[1,2,3,4,5]
>>>> for b in a:
> ... a.remove(b)
> ...
>>>> a
> [2, 4]
>>>>
Very interesting result but reasonable. If the underlying interpreter uses
a reference or pointer for the job like this:
# psudo codes for python
for(ptr = a.first(); ptr.is_valid(); ++ptr)
{
update('b', value(ptr))
call_method('a', 'remove', get_alue('b'))
}
ptr may be just an index. So at the first iteration, the first element, '1',
is removed from a. The next time ptr=1, but a has been changed to [2,3,4,5],
so '3' is removed, and so on,
Smille
More information about the Python-list
mailing list