如何遍历列表中的嵌套字典并计算各键对应值的平均值
该需求完全可以实现,计算逻辑与操作方法如下:
实现逻辑
- 遍历所有需要统计的key,对每个key分别取出12个字典中的对应值求和,再除以12得到平均值,零值会自动参与计算,无需额外过滤。
完整代码
# 结果存储字典:key为原字典的键,value为对应平均值 key_average = {} # 取列表总长度作为分母,避免硬编码 total_dict_num = len(big_list) # 如需按你要求的「先key1、再key2到key106、最后key0」的顺序处理,把下一行替换为 for key in [*range(1, 107), 0]: for key in range(107): # 求和时自动保留零值参与计算,若某个字典缺失对应key默认按0计算 current_total = sum(item.get(key, 0) for item in big_list) key_average[key] = current_total / total_dict_num # 输出所有key的平均值 for k, v in key_average.items(): print(f"key{k}的平均值为:{v}")
代码说明
- 最终得到的
key_average字典就是所有key和对应平均值的映射,你可以直接按需取用 - 如果你不需要严格按照指定顺序提取值,计算结果和遍历顺序无关,直接用默认的0到106遍历即可
- 代码默认兼容某个字典缺失对应key的极端情况,缺失值按0计入计算,符合你的零值保留要求
内容的提问来源于stack exchange,提问作者Cat_Dog
相关产品推荐
相关产品推荐

