我有一个值列表,我必须使用int
:
ValueError Traceback (most recent call last)
<ipython-input-4-9b4decbf862c> in <module>()
1 for i in range(len(Training_Raw)-1):
----> 2 print(int(Training_Raw[row_indeces[i]][-1]))
ValueError: invalid literal for int() with base 10: '5.0'
正如您所看到的那样,尝试通过错误消息将它们转换为int
,尽管有&#34;有效&#34;值。
这里有人有提示如何解决这个问题吗?
答案 0 :(得分:2)
这是因为Python在这种情况下需要“整数字符串”,例如'5'
代替'5.0'
。
一种解决方案是先转换为float
,然后转换为int
:
>>> int(float('5.0'))
5
答案 1 :(得分:2)
sting是float
值,因此首先必须将其转换为float
,然后转换为int
。这应该有效:
int(float(value))