Я пытаюсь получить пространственные разделенные входы. в то время как первый метод работает полностью нормально, второй метод вызывает ошибку:
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())]
Поскольку вы используете split()
для string
которая вернет list
, вы передаете этот list
в int()
, почему вы получаете ошибку. для изменения datatype
list
вам необходимо использовать map()
как показано ниже, или первый подход к вашему.
Попробуйте ниже код
x = [j for j in map(int,input().split())]
split
кstr
вы получаете список, который вы передаетеint
. Отсюда и ошибка.