用嵌套的dict/数组取消dict-to-dict

unflatten的Python项目详细描述


Latest VersionPython versionsbuild status

说明

这个包提供了一个可以解压平面字典的函数 包含嵌套子命令和/或子列表的结构化dict

发展发生在github。 该软件包可从PyPI

概要

嵌套指令:

>>> from unflatten import unflatten

>>> unflatten({'foo.bar': 'val'})
{'foo': {'bar': 'val'}}

嵌套列表:

>>> unflatten({'foo[0]': 'x', 'foo[1]': 'y'})
{'foo': ['x', 'y']}

嵌套列表和听写,混合:

>>> unflatten({
...     'foo[0][0]': 'a',
...     'foo[0][1]': 'b',
...     'foo[1].x': 'c',
...      })
{'foo': [['a', 'b'], {'x': 'c'}]}

注释

Unflatten接受一个应该是^{tt1}的参数$ (或者一个dict类似于.items()或^{tt5}的对象$ 方法)或(key, value)对序列。 dict或sequence中的所有键都必须是字符串。 (在python 2下,键必须是basestring;在 python 3,键只是str的实例。

Unflatten始终返回dict。举例来说:

>>> unflatten([('[0]', 'x')])
{'': ['x']}

对于列表值节点,输入中必须存在所有索引 (展平)映射,否则将抛出ValueError

>>> unflatten({'a[0]': 'x', 'a[2]': 'y'})
Traceback (most recent call last):
...
ValueError: missing key 'a[1]'

另请参见

morphflattery包声称实现了类似的功能。

历史记录

版本0.1(2018-01-17)

没有代码更改。

此套餐现在被视为“生产就绪”(尽管您的里程数可能有所不同)

发布0.1b1(2018-01-09)

初次发布。

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

推荐PyPI第三方库


热门话题
当类实现可调用接口时,JavaSpringEnv为null   java什么使用了更多的内存,一个类对象还是该类的一个实例?   java Android应用程序无法连接到php脚本   用java打开记事本   java如何在JSF中访问Map   java如何在将文档提交给客户端后删除它   swing无法在Java框架中设置文本   java ConcurrentModificationException和多个catch块   java在单例Springbean中声明静态方法   组件测试的java模拟AXFR请求   java Android:当应用程序的多个屏幕布局相似时,避免代码重复的最佳方法是什么?   在java中在帧内移动摄影机   flink文档中给出的java代码不可编译   java是否需要这种并发遗留代码   spring引导应用程序中的java手动OAuth令牌生成   检查输入是否为数字时出现java逻辑错误,如果不是,请重新请求用户输入直到有效   java搜索没有主键的记录   java无法在JavaFX WebView中登录到LinkedIn   java Spring安全性和密钥斗篷使用自定义身份验证提供程序失败