我有一个带有整数值的字典,我想对字典中的每个值执行操作。我想为此使用一个 for 循环,但我做错了。就像是:
>>>print(myDict)
{'ten': 10, 'fourteen': 14, 'six': 6}
>>>for value in myDict:
... value = value / 2
>>>print(myDict)
{'ten': 5, 'fourteen': 7, 'six': 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}
迭代键和值:
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() }
for k in myDict:
myDict[k] /= 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}
蟒蛇 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}
这会更改原始字典。使用//
而不是/
获得楼层划分。