用于与嵌套dict交互的python模块,作为带分隔键的单层dict。

flatdict的Python项目详细描述


VersionStatusCoverageLicense

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())

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm