On 12/01/2014 10:05 AM, Larry Martell wrote: > > Is there a way to set the default_factory of defaultdict so that > accesses to undefined keys get to set to the key?
You need to subclass and modify __missing__ to actually pass along the key: --> class defaultdictkey(defaultdict): ... def __missing__(self, key): ... self[key] = self.default_factory(key) ... return self[key] ... and in action: --> huh = defaultdictkey(lambda k: k) --> huh defaultdict(<function <lambda> at 0x7fe1305de3f0>, {}) --> huh['x'] 'x' --> huh['x'] 'x' --> huh.get('y') --> huh['y'] 'y' --> huh.get('y') 'y' -- ~Ethan~
signature.asc
Description: OpenPGP digital signature
-- https://mail.python.org/mailman/listinfo/python-list