【发布时间】:2021-08-08 03:17:25
【问题描述】:
在运行以下代码时,我收到 TypeError: unsupported operand type(s) for +: 'NoneType' and 'float' 根据我的要求,我有一个浮点数列表作为 API 中的字符串,我想将它们转换为浮点数并找到平均值
a= None
l=['2.35','4.25','9.9']
for num in l:
a=a+float(num)
avg=a/len(l)
【问题讨论】:
-
为什么
a等于None而不是0?这就是导致你的问题的原因:a+float(num)你不能做 None + something -
我发现错误信息非常明确。有没有不清楚的地方?
-
替代解决方案:
avg = sum(float(v) for v in l) / len(l)或功能更强大的avg = sum(map(float, l)) / len(l)
标签: python python-3.x list python-2.7