dict.popitem(key) ???

Justin Shaw wyojustin at hotmail.com
Mon Mar 17 02:19:32 CET 2003


"Alex Martelli" <aleax at aleax.it> wrote in message
news:lwVca.92205$zo2.2426955 at news2.tin.it...
> Raymond Hettinger wrote:
>
> > "Justin Shaw"
> >> Why doesn't popitem take a key argument that defaults to None?  Or how
> >> should I pop a particular item out of a dict?
> >
> > In Py2.3, dict.pop can take an optional default argument:
> >
> >    avalue =  mydict(possiblekey, default)
> >
> > It can also just search for a specified key and return an
> > exception if not found:
> >
> >   avalue = mydict(possiblekey)
>
> Just to clarify (I think a ".pop" just failed to appear here):
>
> Python 2.3a2+ (#10, Mar 16 2003, 08:10:57)
> [GCC 3.2 (Mandrake Linux 9.0 3.2-1mdk)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> ad=dict.fromkeys('ciao')
> >>> ad
> {'i': None, 'a': None, 'c': None, 'o': None}
> >>> ad.pop('z')
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
> KeyError: 'z'
> >>> ad.pop('z',23)
> 23
> >>> ad.pop('a',23)
> >>> ad
> {'i': None, 'c': None, 'o': None}
> >>>
>
> If you can't use 2.3 (still in alpha stage), then as somebody else
> suggested you can still do the job, albeit in two steps:
>
> >>> ad.get('o',42)
> >>> del ad['o']
> >>> ad
> {'i': None, 'c': None}
> >>>
>
>
> Alex
>

Thanks for all of your responses.  My question is more than answered!

Justin






More information about the Python-list mailing list