python - 在 python 中遍历字典中的列表

标签 python dictionary

我是 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/

相关文章:

java - 流收集 toMap - 类型不匹配

java - 对于不同类型的数据,我应该使用哪个 Map 类?

python - 图像处理中的多线程——视频python opencv

python - 将条件函数应用于 Pandas 中按天分组的数据的有效方法

python - lxml etree 在之前找到最接近的元素

python - 以编程方式将网页保存到静态 HTML 文件的最佳方法

c# - 并发字典多次写入

c++ - 如果 KEY 是 std::list 或 std::vector 而不是值,那么 std::map 的默认行为是什么?

android - 根据存储在 SQLite 数据库中的位置(纬度和经度)和时间计算速度

python - pandas 中的多索引数据帧的分组和求和