[Python-Dev] I'd like list.pop to accept an optional second
Tim Peters
tim_one@email.msn.com
Mon, 26 Jul 1999 00:58:31 -0400
[M.-A. Lemburg]
> ...
> Oh well, forget the whole idea then. list.pop() is really not
> needed that often anyways to warrant the default arg thing, IMHO.
> dict.get() and getattr() have the default arg as performance
> enhancement
I like their succinctness too; count = dict.get(key, 0) is helpfully
"slimmer" than either of
try:
count = dict[key]
except KeyError:
count = 0
or
count = 0
if dict.has_key(key):
count = dict[key]
> and I believe that you wouldn't get all that much better performance
> on average by adding a second optional argument to list.pop().
I think you wouldn't at *all*, except in Jim's novel case. That is, when a
list is empty, it's usually the signal to get out of a loop, and you can
either test
if list:
item = list.pop()
else:
break
today or
item = list.pop(-1, marker)
if item is marker:
break
tomorrow. The second way doesn't buy anything to my eye, and the first way
is very often the pretty
while list:
item = list.pop()
if-it-weren't-for-jim's-use-i'd-see-no-use-at-all-ly y'rs - tim