Duncan Booth wrote: > Peter Hansen wrote: > Looking in the 'obvious' place in the Tutorial, section 5.1 'More on > Lists' I found in the immediately following section 5.2 'The del > statement': > >>There is a way to remove an item from a list given its index instead >>of its value: the del statement. Unlike the pop()) method which >>returns a value, the del keyword is a statement and can also be used >>to remove slices from a list (which we did earlier by assignment of an >>empty list to the slice).
I saw that section too, but was scanning for any example of wiping out the whole list. As you point out, it's not mentioned. I don't think there's even an example of slicing with no arguments [:] for copying a list (i.e. on the right side of the =), and it's reasonable to assume (I originally did, as I recall) that this would be some kind of error... > Both of these talk about ways to remove slices from a list. Perhaps the > wording could be clearer to make it obvious that they can also be used to > clear a list entirely (using the word 'clear' would certainly help people > Googling for the answer). So maybe 'this can even change the size of the > list or clear it completely' would be a good change for 3.1.4. This is quite true. After all, who imagines when offered a "slice of cake" that a slice might be the entire thing! The concept of "slice" in English strongly implies a *subset*, not the whole, so if we're not going to get a .clear() method, I do believe that the various uses of [:] should be much more explicitly pointed out in the docs. At least we'd have a ready place to point to in the tutorial, instead of this discussion cropping up every month. -Peter -- http://mail.python.org/mailman/listinfo/python-list