我有一个带整数值的dict,我想对dict中的每个值执行一个操作。我想为此使用for循环,但我无法正确使用它。类似的东西:
>>>print(myDict)
{'ten': 10, 'fourteen': 14, 'six': 6}
>>>for value in myDict:
... value = value / 2
>>>print(myDict)
{'ten': 5, 'fourteen': 7, 'six': 3}
答案 0 :(得分:7)
迭代键和值:
for key, value in myDict.items():
myDict[key] = value / 2
字典上的默认循环遍历其键,如
for key in myDict:
myDict[key] /= 2
或者你可以使用地图或理解。
图:
myDict = map(lambda item: (item[0], item[1] / 2), myDict)
理解:
myDict = { k: v / 2 for k, v in myDict.items() }
答案 1 :(得分:4)
for k in myDict:
myDict[k] /= 2
答案 2 :(得分:2)
使用dict.items()
方法和dict comprehension:
dic = {'ten': 10, 'fourteen': 14, 'six': 6}
print({k: v/2 for k, v in dic.items()})
输出:
{'ten': 5.0, 'six': 3.0, 'fourteen': 7.0}
答案 3 :(得分:0)
Python 3:
>>> my_dict = {'ten': 10, 'fourteen': 14, 'six': 6}
>>> for key, value in my_dict.items():
my_dict[key] = value / 2
>>> my_dict
{'fourteen': 7.0, 'six': 3.0, 'ten': 5.0}
这会更改原始字典。使用//
代替/
进行分配。