Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 사전에서 0이 아닌 값의 평균을 찾는 방법은 무엇입니까?


사전을 반복하고 먼저 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

당신은 또한 감소를 사용할 수 있지만 이와 같은 간단한 작업에는 과잉입니다. 또한 목록 이해를 사용하는 것보다 가독성이 훨씬 떨어집니다.