Python - 如何修改字典值 - 按整数值递增或递减

时间:2014-04-15 14:31:32

标签: python dictionary

尝试在字典中的所有值中添加或减去整数值并返回修改后的字典时出现问题。下面是我的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个。

1 个答案:

答案 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}}}