candide wrote:
Is the del instruction able to remove _at the same_ time more than one
element from a list ?
For instance, this seems to be correct :
>>> z=[45,12,96,33,66,'ccccc',20,99]
>>> del z[2], z[6],z[0]
>>> z
[12, 33, 66, 'ccccc', 20]
>>>
However, the following doesn't work :
>> z=[45,12,96,33,66,'ccccc',20,99]
>>> del z[2], z[3],z[6]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>>
Does it mean the instruction
del z[2], z[3],z[6]
to be equivalent to the successive calls
del z[2]
del z[3]
del z[6]
Yes, those are equivalent. The reason it fails is that, by the time it
gets around to the third delete, there is no longer in index [6] in the
list. The element you were thinking of is now at index [4].
This, however, will work as you expected:
del z[6], z[3],z[2]
--
Gary Herron, PhD.
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418
--
http://mail.python.org/mailman/listinfo/python-list