用嵌套的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第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储