[Python-Dev] I'd like list.pop to accept an optional second

Gordon McMillan gmcm@hypernet.com
Thu, 22 Jul 1999 11:33:06 -0500


Jim Fulton wrote:

> Gordon McMillan wrote:
> > 
> > Then how do I get the old behavior? 
> 
> Just pass 0 or 1 argument.
> 
> >(I've been known to do odd
> > things - like change behavior based on the number of args - in
> > extension modules, but this ain't an extension).
> 
> It *is* a built-in method.  It will be handled just like
> dictionaries handle the second argument to get.

d.get(nonexistantkey) does not throw an exception, it returns None.

If list.pop() does not throw an exception when list is empty, it's 
new behavior.

Which are you asking for:
 breaking code that expects IndexError
Violating Pythonic expectations by, in effect, creating 2 methods
 list.pop(void)
 list.pop(default_return)

- Gordon