3

我有一个带有整数值的字典,我想对字典中的每个值执行操作。我想为此使用一个 for 循环,但我做错了。就像是:

>>>print(myDict)
{'ten': 10, 'fourteen': 14, 'six': 6}

>>>for value in myDict:
...    value = value / 2

>>>print(myDict)
{'ten': 5, 'fourteen': 7, 'six': 3}
4

4 回答 4

9

迭代键和值:

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() }
于 2013-05-26T16:34:58.943 回答
6
for k in myDict:
    myDict[k] /= 2
于 2013-05-26T16:50:30.923 回答
2

使用dict.items()方法和字典理解

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}
于 2013-05-26T16:38:04.633 回答
0

蟒蛇 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}

这会更改原始字典。使用//而不是/获得楼层划分。

于 2013-05-26T16:43:52.430 回答