>>> from collections import defaultdict >>> from itertools import repeat >>> d = defaultdict(repeat('').next) # default to an empty string >>> d['abc'] += 'more text' >>> d['abc'] 'more text' >>> d = defaultdict(repeat('<missing>').next) # default to 'missing' >>> d.update(name='John', action='ran') >>> '%(name)s %(action)s to %(object)s' % d 'John ran to <missing>' >>> d = defaultdict(repeat(0).next) # default to zero >>> for char in 'abracadabra': d[char] += 1 >>> d.items() [('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)]