遍历字典并修改值
假设我有一个字典,里面存着名字和成绩:
{"Tom" : 65, "Bob" : 90, "John" : 80...}
我想把字典里的每个成绩都加上10%:
{"Tom" : 71.5, "Bob" : 99, "John" : 88...}
我该怎么做才能对字典里的所有成绩进行这个操作呢?
4 个回答
4
对于版本低于2.7的Python,你可以使用这个:
result = dict((k, 1.1 * v) for k, v in h.items())
而对于Python 2.7或更高版本,你只需要这样做:
result = { k: 1.1 * v for k, v in h.items() }
5
你并没有要求用一个新的字典来替换掉原来的字典。下面的代码是用来更新你现有的字典的。它使用了基本的循环技巧,这些技巧和理解列表推导式一样,都是很有用的知识。
for name in grade_dict:
grade_dict[name] *= 1.1
8
字典推导式:
mydict = {key:value*1.10 for key, value in mydict.items()}
在2.7版本之前:
mydict = dict(((key, value*1.10) for key, value in mydict.items()))