我很欣赏这个看似简单的任务的帮助:编写一个函数,它将获取一个元组并返回一个嵌套字典,元组中的每个连续值都是字典中连续更深层'层'中的一个键。登记/> 指定彩虹底部的最终“值”(例如10,在下面的示例中)。
所以从元组('cat', 'dog', 'bone')
开始,我的目标是作为输出:
{'cat':{'dog':{'bone':10}}}
并为任意长度的元组执行此操作。
答案 0 :(得分:2)
这是怎样的终极价值'指定完全?
在下面的代码中,它由命名参数指定:
def nested_dict(tuple, value=10):
if len(tuple) is 1:
return { tuple[0] : value }
return { tuple[0] : nested_dict(tuple[1:], value=value) }
答案 1 :(得分:0)
t = ('cat','dog','bone')
answer = {}
temp = answer
for key in t[:-1]:
if key not in temp:
temp[key] = {}
temp = temp[key]
temp[t[-1]] = 10
输出:
In [21]: answer
Out[21]: {'cat': {'dog': {'bone': 10}}}
答案 2 :(得分:0)
我的尝试:
>>> t = ('cat', 'dog', 'bone')
>>> last = {t[-1]: 10}
>>> for e in t[1::-1]:
... last = {e: last}
...
>>> last
{'cat': {'dog': {'bone': 10}}}