用于与嵌套dict交互的python模块,作为带分隔键的单层dict。
flatdict的Python项目详细描述
FlatDict是一个dict对象,它允许使用单个级别的分隔键/值 嵌套字典的对映射。你可以像正常人一样与flatdict互动 字典和访问子字典,就像您通常使用的那样,或者使用复合词 钥匙。
示例
foo={'foo':{'bar':'baz','qux':'corge'}}
表示为:
{'foo:bar':'baz','foo:qux':'corge'}
,仍可以作为:
访问foo['foo']['bar']
和
foo['foo:bar']
此外,列表和元组也使用enumerate()转换为dict。
例如:
d={'list':['a','b','c',]}
将被展平如下:
flat={'list:0':'a','list:1':'b','list:2':'c'}
安装
$ pip install flatdict
示例使用
importpprintimportflatdictvalues={'foo':{'bar':{'baz':0,'qux':1,'corge':2},'grault':{'baz':3,'qux':4,'corge':5}},'garply':{'foo':0,'bar':1,'baz':2,'qux':{'corge':3}}}flat=flatdict.FlatDict(values)print(flat['foo:bar:baz'])flat['test:value:key']=10delflat['test']forkeyinflat:print(key)forvalueinflat.itervalues():print(value)pprint.pprint(flat.as_dict())pprint.pprint(dict(flat))print(flat==flat.as_dict())