如何在 Python 字典中找出非零值的平均数?


你可以通过遍历字典并首先过滤出零值来做到这一点。然后对经过滤的值求和。最后,用这些经过滤的值的数量除以和。

示例

my_dict = {"foo": 100, "bar": 0, "baz": 200}
filtered_vals = [v for _, v in my_dict.items() if v != 0]
average = sum(filtered_vals) / len(filtered_vals)
print(average)

输出

这将提供以下输出 −

150.0

你也可以使用 reduce,但对于这样的简单任务来说,它就有点大材小用了。而且它的可读性也远低于使用列表推导。

更新于: 2020 年 3 月 05 日

2K+ 次浏览

开启你的 职业 生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.