Есть ли более удобный способ считать числа, которые подаются на одной строке, в Python?

Предположим, что на вход некоторой программе подаются целые числа a и b. Проблема в том, что они подаются на одной строке, разделённые пробелом, поэтому привычный код a, b = int(input()), int(input()) не работает. Можно воспользоваться таким кодом:

my_list = [int(i) for i in input().split()]
a, b = my_list[0], my_list[1]

Однако можно ли организовать ввод без генерации списка?


Ответы (2 шт):

Автор решения: ПИТОНИСТ версия-3-8

Нужно делать вот так:

a, b = input().split()

И всё хорошо работает. Конечно, со списком, но гораздо короче.

→ Ссылка
Автор решения: GrAnd

Можно.

a, b = map(int, input().split())

Да и с циклом это тоже делается тоже в одну строку.

a, b = (int(i) for i in input().split())

(Заметьте, это не список, а генератор, значит лишнюю память не потребляет)

→ Ссылка