尝试在字典中的所有值中添加或减去整数值并返回修改后的字典时出现问题。下面是我的Python代码:
def increment(dictionary):
for entry in dictionary:
dictionary[entry] += 1 ## or -= 1
return dictionary
得到此错误代码但不知道如何克服它: TypeError:+ =:'dict'和'int'
的不支持的操作数类型有人能告诉我我在忽视什么吗?
-Edited -
以下是字典案例: { 'X':{ 'Y':{ 'Z':15}}}
我想增加15到16个。
答案 0 :(得分:1)
递归递增的解决方案:
def increment(dictionary):
for entry in dictionary:
if type(dictionary[entry]) is dict:
dictionary[entry] = increment(dictionary[entry])
else:
dictionary[entry] += 1
return dictionary
d = {'x': {'y': {'z': 15}}}
print(increment(d))
打印{'x': {'y': {'z': 16}}}