如何拆分字符串并形成多层嵌套字典?

如何拆分字符串并形成多层嵌套字典?,第1张

如何拆分字符串并形成多层嵌套字典?

您可以像这样使用

reduce
reversed
功能

>>> reduce(lambda res, cur: {cur: res}, reversed("foo/bar/baz".split("/")), 1){'foo': {'bar': {'baz': 1}}}

如果您使用的是Python
3.x,则需要

reduce
functools

>>> from functools import reduce>>> reduce(lambda res, cur: {cur: res}, reversed("foo/bar/baz".split("/")), 1){'foo': {'bar': {'baz': 1}}}

在这里,的最后一个参数

reduce
是起始值。它将从传递的iterable中一个接一个地取值,并使用结果和当前值调用函数,然后在下一次之后,最后一个结果将是第一个参数,而当前值将是第二个参数。当迭代器用尽时,它将返回结果。

因此,执行过程将逐步进行,如下所示

假设

func
是lambda函数,它会像这样反复调用

func(1, "baz")        => {"baz": 1}func({"baz": 1}, "bar")          => {"bar": {"baz": 1}}func({"bar": {"baz": 1}}, "foo") => {"foo": {"bar": {"baz": 1}}}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存