假设我有一本名字和成绩的词典:
{"Tom" : 65, "Bob" : 90, "John" : 80...}
我希望获取字典中的所有值并为每个值添加10%:
{"Tom" : 71.5, "Bob" : 99, "John" : 88...}
如何通过字典中的所有值来完成?
答案 0 :(得分:8)
Dict理解:
mydict = {key:value*1.10 for key, value in mydict.items()}
Pre 2.7:
mydict = dict(((key, value*1.10) for key, value in mydict.items()))
答案 1 :(得分:5)
您没有要求将您的词汇替换为新词。以下代码更新现有字典。它使用基本的循环技术,这些技术和理解一样方便。
for name in grade_dict:
grade_dict[name] *= 1.1
答案 2 :(得分:3)
对于版本小于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() }
答案 3 :(得分:2)
{i:1.1*j for i,j in my_dict.items()}