Re: (objects as) mutable dictionary keys

From: John Roth (newsgroups_at_jhrothjr.com)
Date: 01/14/05


Date: Fri, 14 Jan 2005 11:09:06 -0600


"Peter Maas" <peter@somewhere.com> wrote in message
news:cs8a7e$t87$1@swifty.westend.com...
>I have summarized the discussion about the usability of lists (and
> and other mutable types) as dictionary keys and put it into the
> Python wiki.URL: http://www.python.org/moin/DictionaryKeys.
>
> This summary might be used as a reference should the 'mutable
> dictionary keys' issue come up again in c.l.py.

The last piece has an incorrect conclusion. Lists are not safe
_because_ the cmp function is NOT a compare of id(list), but
is based on list contents, which can change at any time.

It should also be emphasized that the default instance hash
and cmp functions quoted make it impossible for two different
instances to compare equal, thus there is no reason to store them
as dictionary keys: it's simpler to make the value an attribute of
the instance and bypass the additional complexity of the dictionary.

John Roth
>
> --
> -------------------------------------------------------------------
> Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
> E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
> -------------------------------------------------------------------
>



Relevant Pages

  • Re: (objects as) mutable dictionary keys
    ... > I have summarized the discussion about the usability of lists (and ... > and other mutable types) as dictionary keys and put it into the ... > dictionary keys' issue come up again in c.l.py. ... It is not impossible in Python. ...
    (comp.lang.python)
  • Re: (objects as) mutable dictionary keys
    ... > I have summarized the discussion about the usability of lists (and ... > and other mutable types) as dictionary keys and put it into the ... Note that Peter Maas has put this up on the Python wiki, ...
    (comp.lang.python)
  • Re: objects as mutable dictionary keys
    ... for lists, and it isn't defined by default for user ... >> dictionaries recently, and the mainstream opinion was that dictionary ... >> keys must not be mutable, so lists are not allowed as dictionary keys. ... > - Dictionary lookup with list literals would be impossible. ...
    (comp.lang.python)
  • Re: (objects as) mutable dictionary keys
    ... >>I have summarized the discussion about the usability of lists (and ... >>and other mutable types) as dictionary keys and put it into the ... >>dictionary keys' issue come up again in c.l.py. ... therefore not recommended in Python. ...
    (comp.lang.python)
  • Re: (objects as) mutable dictionary keys
    ... I have summarized the discussion about the usability of lists (and ... and other mutable types) as dictionary keys and put it into the ... Python wiki.URL: http://www.python.org/moin/DictionaryKeys. ... dictionary keys' issue come up again in c.l.py. ...
    (comp.lang.python)