我正在尝试使用空格分隔输入。虽然第一种方法可以完全正常工作,但是第二种方法抛出错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
第二种方法有什么问题?
x = [int(j) for j in input().split()]
x = [j for j in int(input().split())]
答案 0 :(得分:2)
因为您使用split()
到string
会返回list
,然后将list
传递给int()
,这就是为什么错误。要更改datatype
中的list
,您需要使用下面的map()
或您的第一种方法。
尝试以下代码
x = [j for j in map(int,input().split())]