사전을 반복하고 먼저 0 값을 필터링하여 이를 수행할 수 있습니다. 그런 다음 필터링된 값의 합계를 구합니다. 마지막으로 이러한 필터링된 값의 수로 나눕니다.
예시
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
당신은 또한 감소를 사용할 수 있지만 이와 같은 간단한 작업에는 과잉입니다. 또한 목록 이해를 사용하는 것보다 가독성이 훨씬 떨어집니다.