python中字典如何算平均数

python中字典如何算平均数

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何计算Python字典中所有数值的平均值?

我有一个字典,里面存储了多个键值对,数值都是数字,怎样计算这些数值的平均数?

A

计算字典数值平均数的方法

可以先提取字典的所有数值,然后计算它们的和并除以数值的个数。具体可以用values()方法获取数值列表,再用sum()函数求和,最后除以len()函数得到的数量。例如:avg = sum(my_dict.values()) / len(my_dict)

Q
如何处理字典中包含非数值的元素时计算平均数?

字典中不仅有数字,还有字符串或其他数据类型,计算数值的平均数时该怎么办?

A

过滤非数值元素后计算平均数

需要先筛选出字典中属于数字类型的值,可以使用列表推导式和 isinstance() 函数过滤出数字,再计算平均值。例如:nums = [v for v in my_dict.values() if isinstance(v, (int, float))],接着计算平均数:avg = sum(nums) / len(nums)

Q
如何计算嵌套字典中所有数值的平均数?

字典的值可能还是字典,想计算所有层级数值的平均数,有什么好的方法?

A

使用递归遍历嵌套字典计算平均值

可以定义一个递归函数来遍历字典的所有层级,收集所有数值到一个列表中,最后计算平均值。递归遍历所有键对应的值,如果值是数字就添加到列表中,如果是字典则递归调用。完成后计算列表中所有数值的平均数。