[Python-Dev] Mundane dict __setitem__...

David Abrahams dave@boost-consulting.com
Tue, 03 Jun 2003 08:09:57 -0400


I am about to write some code which relies on the following:

    x = (1,2,3)
    y = (1,2,3)
    d = {}
    d[x] = 1
    d[y] = 1
    assert d.keys()[0] is y

In other words, when you do d[k] = v it replaces both v *and* k in the
dict.  I couldn't find it documented anywhere but the source.  I
submitted a doc patch which enshrines that behavior, but since Guido
doesn't always know what's in the doc I wanted to make sure it was
considered reasonable.

Anyone want to tell me it's a bad idea?  It seems like the more useful
of the two possible behaviors to me.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com