我必须计算以下列表的平均值:
j=[20, 30, 40, None, 50]
还有这些嵌套列表中的最小值,它们也包括相同的内容:
x = [[20, 30, 40, None, 50], [12, 31, 43, None, 51]]
应该返回[12,30,40,50]
,但以下代码不起作用。
print(list(map(min, zip(*x))))
TypeError: '<' not supported between instances of 'NoneType' and 'NoneType'
平均而言,我尝试了这个:
import statistics
statistics.harmonic_mean(j)
没有人处理这种类型的列表。
答案 0 :(得分:2)
您可以过滤掉“无”值以获得平均值和最小值。例如:
from statistics import mean
data = [[20, 30, 40, None, 50], [12, 31, 43, None, 51]]
mean_val = mean(d for d in data[0] if d)
print(mean_val)
# 35
min_vals = [min(a, b) for a, b in zip(*data) if a and b]
print(min_vals)
# [12, 30, 40, 50]