получить разделенный пробелами ввод в python

1

Я пытаюсь получить пространственные разделенные входы. в то время как первый метод работает полностью нормально, второй метод вызывает ошибку:

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'

что не так со вторым методом?

Способ 1:

x = [int(j) for j in input().split()]

Способ 2:

x = [j for j in int(input().split())]
  • 0
    Сообщение об ошибке говорит вам, что именно не так.
  • 0
    Поскольку вы применяете split к str вы получаете список, который вы передаете int . Отсюда и ошибка.
Теги:
python-3.x

1 ответ

2
Лучший ответ

Поскольку вы используете split() для string которая вернет list, вы передаете этот list в int(), почему вы получаете ошибку. для изменения datatype list вам необходимо использовать map() как показано ниже, или первый подход к вашему.

Попробуйте ниже код

x = [j for j in map(int,input().split())]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню