Есть ли более удобный способ считать числа, которые подаются на одной строке, в 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())
(Заметьте, это не список, а генератор, значит лишнюю память не потребляет)