用于与嵌套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为什么加载个人密钥库需要这么多时间?   当我使用main创建Android应用程序UI时,如何通过java修改它。xml文件?   java Tomcat 6和7:WebappClassLoader:尝试为名称org/apache/openjpa/persistence/osgi/BundleUtils复制类定义   java`parseInt()`和`parseDouble()`throw`NumberFormatExeption`   JavaSpringMongoDB填充引用   在LinuxMint中打开Eclipse时发生java错误;OpenJDK 64位服务器VM警告:忽略选项MaxPermSize=512m;支持在8.0中被删除   使用PKCS7Padding的AES CBC加密在Java和Objective中有不同的结果   java为什么Jackson要用一个以类命名的额外层来包装我的对象?   json在Java中使用parallelStream提取值   JavaSpring存储库自动生成方法:按给定的顶部编号+按字段描述排序选择   java是否有可序列化的标准闭包接口?   .NET与Java在初创公司的web应用程序开发   如何修复java。java中的lang.unsatifiedLinkError   JavaFX+Spring Boot+Hibernate应用程序对多个环境的java支持   自定义视图组中的java更改未呈现