【发布时间】:2011-10-14 17:36:25
【问题描述】:
我有一个这样初始化的字典:
tab = {'Mike': 0, 'Chad': 15, 'Taylor': 2}
我希望能够将整数添加到字典中的每个值。
例如,添加 5 后,字典应如下所示:
{'Mike': 5, 'Chad': 20, 'Taylor': 7}
似乎这可以通过几行代码来完成,但我无法弄清楚。 我尝试了一个 for 循环:
for k in tab.itervalues():
k = k + 5
我运行这段代码,然后打印出字典:
tab = {'Mike': 0, 'Chad': 15, 'Taylor': 2}
字典没有发生变化。我不确定 Python 是否将这些值识别为字符串或整数。
【问题讨论】:
-
k = k + 5这行实际上是在创建一个全新的变量。你看不到它,因为 python 对你隐藏了它(这是 python 的传递对象范例的一部分)。然而,这既不是这里也不是那里。即使您可以修改 k,它也不会修改字典。有关正确方法,请参阅 waffle paradox 的答案。
标签: python dictionary iteration