你如何计算一个列表的平均值

时间:2015-03-06 19:12:52

标签: python

我有一个名为slope的列表,并尝试计算列表中的整体平均值,如下所示:

 over_all_slope=float(sum(slopes))/float(len(slopes))

我收到此错误:

unsupported operand type(s) for +: 'float' and 'NoneType'

在我的斜坡列表中看起来像None这样的值,现在我可以在论坛中计算不包括None值的平均值吗?

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这是精确的类型转换的准确代码,可以提高准确性。我非常喜欢它,它也表现出对数学的良好理解。但事实是,问题在于列表的内容。

# create a list of slopes without None values

new = [i for i in slopes if not i is None]
avg = float(sum(new)) / float(len(new))

答案 1 :(得分:1)

这将从斜坡列表中过滤掉“无”。

slopes=filter(None,slopes)