[Python-Dev] List copy and clear (was Re: Inconsistent API for sets.Set and build-in set)
Nicolas Fleury
nidoizo at yahoo.com
Fri Jul 1 22:04:58 CEST 2005
Raymond Hettinger wrote:
> Several thoughts:
As I told you in a private dicussion, you have convinced me about copy.
About clear, however, I feel I have to defend my colleagues and
myself, who almost all wasted time once (but only once) searching how to
clear a list. Improving the docs (like adding an additional example in
the table at http://www.python.org/doc/2.4.1/lib/typesseq-mutable.html)
would be good. To me, "del mylist[:]" and "mylist[:] = []" are not "how
to clear a list" but "how to clear list using slicing". That's why I
think it's counter-intuitive, since you end up using slicing in a
situation that has nothing to do with slicing.
We agree there's no need about generic clearing. It's only about
consistency and ease of learning/self-documentation. So let's look at
the reasons to not do it:
- It's only useful for new Python programmers (I mean first-time
clearers), once you know it, you know it.
- That would be a third way to clear a list. However, I don't like this
argument in this specific case, because IMO the current ways are just
slicing capabilities, as "<< 1" and "* 2" can be the same on a int.
- All APIs trying to emulate a list would end up incomplete. I have
difficulty judging that one. A method addition doesn't sound so bad to
me. If it is the showstopper, maybe a Python 3000 thing?
Overall, I think the addition of clear would be an improvement to the
language, particularly in the autocompletion world of ours;)
Regards,
Nicolas
More information about the Python-Dev
mailing list