【发布时间】:2016-07-20 19:59:45
【问题描述】:
我正在寻找一个 pythonic 成语将键列表和值转换为嵌套这些键的字典。例如:
dtree(["a", "b", "c"]) = 42
or
dtree("a/b/c".split(sep='/')) = 42
将返回嵌套的字典:
{"a": {"b": {"c": 42}}}
这可用于将一组具有分层键的值转换为树:
dtree({
"a/b/c": 10,
"a/b/d": 20,
"a/e": "foo",
"a/f": False,
"g": 30 })
would result in:
{ "a": {
"b": {
"c": 10,
"d": 20 },
"e": foo",
"f": False },
"g": 30 }
我可以编写一些 FORTRANish 代码来使用蛮力和多个循环进行转换,也许是 collections.defaultdict,但它似乎是一种具有拆分和连接、切片和理解的语言应该有一个原语来转换字符串列表 @ 987654325@ 到嵌套的字典键 ["a"]["b"]["c"]。在 dict 表达式字符串上不使用 eval 的最短方法是什么?
【问题讨论】:
标签: python dictionary tree