您可以通过迭代字典并首先过滤掉零值来实现此目的。然后取过滤值的总和。最后,除以这些过滤值的个数。示例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,但对于像这样的简单任务来说,它有点过分了。而且它的可读性也比使用列表推导式差得多。