On 12/05/2014 03:51 PM, John J Posner wrote:
At the beginning of this thread, Ian Kelly said:

Since this clearly is intended to be part of the earlier thread, please make it so by using reply-list or whatever equivalent your email program has.


     Not with defaultdict, but you can subclass dict and provide a
     __missing__ method directly

To emphasize, you don't need to subclass "defaultdict" -- you need only
subclass "dict" itself:

class MyDict(dict):
     def __missing__(self, key):
         self[key] = key
         return key

md = MyDict()
md[1] = 111
_ = md[2]
_ = md["another key"]


## md now looks like this:  {1: 111, 2: 2, 'another key': 'another key'}

The defaultdict documentation is confusing on this point. A *long* time
ago, I filed Bug 9536 to improve the doc, but the fix hasn't bubbled to
the surface yet.




--
DaveA
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to