我是 Python 的新手,我需要创建一个函数,将字典中列表中的值除以 2:
dic = {"A":[2,4,6,8], "B":[4,6,8,10]}
期望的输出:
dic2 = {"A":[1,2,3,4], "B":[2,3,4,5]}
我找到了这篇文章
python: iterating through a dictionary with list values
这有点帮助,但不幸的是,我无法理解示例代码的“任何”部分。
我试过这个:
def divide(dic):
dic2 = {}
for i in range(len(dic)):
for j in range(len(dic[i])):
dic2[i][j] = dic[i][j]/2
return dic2
我写了不同的变体,但我一直在“for j ...”行中收到 KeyError: 0。
最佳答案
那是因为 dict
不像列表,它们不使用索引,它们使用键(像标签),你可以使用 dict.keys()
获取 dict
的键。
或者,只需使用 for in
遍历键来遍历 dict
:
dic = {"A": [2, 4, 6, 8], "B": [4, 6, 8, 10]}
for k in dic: # similar to `for key in dict.keys():`
dic[k] = [x/2 for x in dic[k]]
print(dic)
输出:
{'A': [1.0, 2.0, 3.0, 4.0], 'B': [2.0, 3.0, 4.0, 5.0]}
如果您不需要小数点,请使用 //
而不是 /
。
关于python - 在 python 中遍历字典中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44146075/