DataStructure module

Some interesting data structures not provided by Python.

class DataStructure.DefaultOrderedDict(default_factory=None, *a, **kw)[source]

Bases: collections.OrderedDict

Source: http://stackoverflow.com/a/6190500/562769

Example:

>>> d = DefaultOrderedDict(int)
>>> s = "bacabc"
>>> for k in s: d[k] += 1
>>> d
OrderedDefaultDict(<class 'int'>, DefaultOrderedDict([('b', 2), ('a', 2), ('c', 2)]))
class DataStructure.NestedDict[source]

Bases: dict

Implementation of perl’s autovivification feature(i.e. Nested dicts).

Example:

>>> a = NestedDict()
>>> a[1][2][3] = 4
>>> a[1][3][3] = 5
>>> a[1][2]['test'] = 6
>>> print(a)
{1: {2: {3: 4, 'test': 6}, 3: {3: 5}}}