用嵌套的dict/数组取消dict-to-dict
unflatten的Python项目详细描述
概要
嵌套指令:
>>> 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]'
历史记录
版本0.1(2018-01-17)
没有代码更改。
此套餐现在被视为“生产就绪”(尽管您的里程数可能有所不同)
发布0.1b1(2018-01-09)
初次发布。