API reference: Dictionaries¶
The kutils.dicts
module provides several utility dictionaries.
dicts contains a number of special-case dictionaries.
-
class
kutils.dicts.
AttrDict
(*args, **kwargs)[source]¶ AttrDict represents a dictionary where the keys are represented as attributes.
>>> d = kd.AttrDict(foo='bar') >>> d.foo 'bar' >>> d['foo'] 'bar'
-
class
kutils.dicts.
AttrDictDict
(*args, **kwargs)[source]¶ AttrDictDict is a dictionary that returns an empty StrDict if a key is unavailable. This is meant for a dictionary of dictionaries of string values.
>>> d = kd.AttrDictDict() >>> d.foo {} >>> d['foo'] {} >>> d.foo.bar '' >>> d['foo']['bar'] ''
-
class
kutils.dicts.
AttrNoneDict
(*args, **kwargs)[source]¶ AttrNoneDict returns an AttrDict that returns None if a key isn’t present.
>>> d = kd.AttrNoneDict(foo='bar') >>> d.foo 'bar' >>> d['foo'] 'bar' >>> d.bar is None True >>> d['bar'] is None True
-
class
kutils.dicts.
AttrStrDict
(*args, **kwargs)[source]¶ AttrStrDict returns an AttrDict that returns an empty string if a key isn’t present.
>>> d = kd.AttrStrDict(foo='bar') >>> d.foo 'bar' >>> d['foo'] 'bar' >>> d.bar '' >>> d['bar'] ''
-
class
kutils.dicts.
DictDict
(*args, **kwargs)[source]¶ DictDict is a dictionary that returns an empty AttrStrDict if a key is unavailable. This is meant for a dictionary of dictionaries of string values.
>>> d = kd.DictDict() >>> d['foo'] {} >>> type(d['foo']) <class 'kutils.dicts.AttrStrDict'> >>> d.foo.bar ''