【发布时间】:2018-07-28 23:20:12
【问题描述】:
在我的数据分析中,函数返回单个 float value 或 tuple(float, ...)。我想 sum 它或将其转换为 list 或 str 以便我可以总结。但是,无论我尝试什么,我都会得到:
TypeError: 'float' object is not iterable
# For e.g
print('testing float errors')
ti = 0.236
print(ti)
print(type(ti))
print()
# all below three methods don't work. Why? And, what is the solution?
fi = [str(x) for x in ti]
fi = map(str(x), ti)
fi = sum(ti)
print(fi)
【问题讨论】:
-
您的预期输出是什么?您不能迭代
0.236的单个值。您是否尝试遍历该数字的数字? -
有些是单个浮点数,有些是浮点数的元组。我正在尝试对多个浮点数求和,否则将其保持为浮点数。我只是想看看为什么它不起作用。至少我应该能够将它们转换为
str,但我不能。 -
第一种方法使用
str(ti),否则,您将尝试迭代浮点数,而不是字符串。 -
使用:
fi = ti if isinstance(ti, float) else sum(ti). -
你的英语足够好,但问题陈述不是。你想总结什么?您对
str有何评价?您应该为您的两种情况放置一个预期的输出(float或tuple的floats)。你之前的评论肯定会吸引很多反对票。我也觉得在无脑的人手中投票是一个太强大的工具(只要他们不理解一个问题,即使它是有效的,他们也会使用它),但这里不是这种情况。
标签: python python-3.x floating-point typeerror