如何在Python字典中找到非零值的平均数?
您可以通过遍历字典并首先过滤出零值来完成此操作。然后,将过滤后的值求和,最后除以这些过滤后的值的数量。
阅读更多: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,但对于这样的简单任务,它是一种过度设计。而且,与使用列表推导式相比,它也不太可读。
极客教程