Message8315
Expected behavior:
defaultdict.get(key, default) should not create entries in the map when no key is found and a default is specified.
Eg:
>>> from collections import defaultdict
>>>
>>> d = defaultdict(set)
>>>
>>> d['one'] = [1]
>>>
>>> d['two']
set([])
>>>
>>> print(d)
defaultdict(<type 'set'>, {'two': set([]), 'one': [1]})
>>>
>>> d.get('three', [])
set([])
>>>
>>> print(d)
defaultdict(<type 'set'>, {'two': set([]), 'one': [1], 'three': set([])})
>>>
>>>
The map now contains an entry 'three', this is a nasty source of memory-leaks (our system had maps with millions of entries caused by this subtle bug). |
|
Date |
User |
Action |
Args |
2014-04-30 21:26:24 | jayv | set | recipients:
+ jayv |
2014-04-30 21:26:24 | jayv | set | messageid: <1398893184.91.0.979515915396.issue2133@psf.upfronthosting.co.za> |
2014-04-30 21:26:24 | jayv | link | issue2133 messages |
2014-04-30 21:26:24 | jayv | create | |
|