Python 3.x ValueError:以10为基数的int()的文本无效:'';pytthon:将str列表转换为int列表

Python 3.x ValueError:以10为基数的int()的文本无效:'';pytthon:将str列表转换为int列表,python-3.x,list,type-conversion,Python 3.x,List,Type Conversion,代码:- team_O = [int(i) for i in input().split(" ")] 工作:- 一行输入为123456 它按空格['1'、'2'、'3'、'4'、'5'、'6']分割 并将每个元素str list转换为int list 预期输出:- team_O =[1,2,3,4,5,6] 错误:- File "CandidateCode.py", line 9, in <listcomp> team_G = [int(j) for j in input

代码:-

team_O = [int(i) for i in input().split(" ")]
工作:-
一行输入为123456
它按空格['1'、'2'、'3'、'4'、'5'、'6']分割
并将每个元素str list转换为int list

预期输出:-

team_O =[1,2,3,4,5,6]
错误:-

File "CandidateCode.py", line 9, in <listcomp>
    team_G = [int(j) for j in input().split(" ")]
ValueError: invalid literal for int() with base 10: ''
文件“CandidateCode.py”,第9行,在
team_G=[int(j)表示输入()中的j。拆分(“”)
ValueError:基数为10的int()的文本无效:“”

问题在于str.split()的使用。传递一个显式分隔符

>>> '1 2 3 4'.split(' ')
['1', '2', '3', '4']
>>> '1 2 3 4'.split()
['1', '2', '3', '4']
>>> '1 2 3  4'.split()
['1', '2', '3', '4']
>>> '1 2 3 4 '.split()
['1', '2', '3', '4']
虽然这看起来像是您想要的,但在大多数情况下并非如此。例如,如果两个单词由两个连续出现的
分隔符
分隔,则这些单词之间的空白是输出的一部分

>>> '1 2 3  4'.split(' ').
['1', '2', '3', '', '4']
同样,前导空格和尾随空格具有类似的效果

>>> '1 2 3 4 '.split(' ')
['1', '2', '3', '4', '']
这些国家:

如果未指定sep或sep为None,则使用不同的拆分算法 应用:连续空格的运行被视为单个空格 分离器,(…)

长话短说:不要通过分隔符

>>> '1 2 3 4'.split(' ')
['1', '2', '3', '4']
>>> '1 2 3 4'.split()
['1', '2', '3', '4']
>>> '1 2 3  4'.split()
['1', '2', '3', '4']
>>> '1 2 3 4 '.split()
['1', '2', '3', '4']

问题在于str.split()的使用。传递一个显式分隔符

>>> '1 2 3 4'.split(' ')
['1', '2', '3', '4']
>>> '1 2 3 4'.split()
['1', '2', '3', '4']
>>> '1 2 3  4'.split()
['1', '2', '3', '4']
>>> '1 2 3 4 '.split()
['1', '2', '3', '4']
虽然这看起来像是您想要的,但在大多数情况下并非如此。例如,如果两个单词由两个连续出现的
分隔符
分隔,则这些单词之间的空白是输出的一部分

>>> '1 2 3  4'.split(' ').
['1', '2', '3', '', '4']
同样,前导空格和尾随空格具有类似的效果

>>> '1 2 3 4 '.split(' ')
['1', '2', '3', '4', '']
这些国家:

如果未指定sep或sep为None,则使用不同的拆分算法 应用:连续空格的运行被视为单个空格 分离器,(…)

长话短说:不要通过分隔符

>>> '1 2 3 4'.split(' ')
['1', '2', '3', '4']
>>> '1 2 3 4'.split()
['1', '2', '3', '4']
>>> '1 2 3  4'.split()
['1', '2', '3', '4']
>>> '1 2 3 4 '.split()
['1', '2', '3', '4']
默认情况下,
split()
可用于删除空白,因此您可以使用:

team_0=[int(i) for i in input().split()]
默认情况下,
split()
可用于删除空白,因此您可以使用:

team_0=[int(i) for i in input().split()]

你的代码对我来说很好。你的代码对我来说很好。