如何在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,但是对于像这样的简单任务,这是一个过大的选择。而且它比使用列表理解的可读性低得多。