Python - 无法将仅包含数字的字符串转换为int

时间:2017-06-21 23:11:20

标签: python string int

我在列表中包含大约一百个作为字符串的数字,我需要将它们全部加在一起。为此,我使用以下代码 -

for item in listo:
    sumo += int(item)

我收到的ValueError上写着:

ValueError: invalid literal for int() with base 10: ''

我不知道导致此特定错误的原因,而不仅仅是错误表明该字符串无法转换为int。有谁知道问题是什么,以及如何解决它?

编辑 - 我发现了错误!我使用了.split()方法,我偶然添加了一个太多的句点,创建一个空字符串。

3 个答案:

答案 0 :(得分:1)

我发现了错误!我使用了.split()方法,我偶然添加了一个太多的句点,创建一个空字符串。

答案 1 :(得分:1)

类型转换为int只能在传递的字符串有效时使用。例如。 int('5')有效,但int('apple')不是。

错误是一种自我解释。将其转换为整数所提供的参数无效。如果它是特定的字符串,它会显示出来。空白引号通常表示您尝试转换的空字符串。你自己发现错误很好。通常,错误的描述是指向错误的一个很好的指针。

祝你好运

答案 2 :(得分:0)

new_list = filter(None, list)
lisSum = sum(map(int,new_list ))

希望这是你期待的