我有一个名为slope的列表,并尝试计算列表中的整体平均值,如下所示:
over_all_slope=float(sum(slopes))/float(len(slopes))
我收到此错误:
unsupported operand type(s) for +: 'float' and 'NoneType'
在我的斜坡列表中看起来像None这样的值,现在我可以在论坛中计算不包括None值的平均值吗?
有什么想法吗?
答案 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)