Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để tìm giá trị trung bình của các giá trị khác 0 trong từ điển Python?


Bạn có thể thực hiện việc này bằng cách lặp lại từ điển và lọc ra các giá trị 0 trước. Sau đó lấy tổng các giá trị đã lọc. Cuối cùng, chia cho số lượng các giá trị được lọc này.

ví dụ

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)

Đầu ra

Điều này sẽ đưa ra kết quả -

150.0

Bạn cũng có thể sử dụng giảm nhưng đối với một nhiệm vụ đơn giản như thế này, nó là một việc quá mức cần thiết. Và nó cũng khó đọc hơn nhiều so với việc sử dụng khả năng hiểu danh sách.