Можно ли сжать форму ввода данных пользователем?

Всем привет, сайт использую впервые не судите строго =).

Например у нас есть задача: Просто считать ввод данных пользователем до тех пор пока не будет введена строка '555' - я всё время оформляю это таким образом:

Answer = list()
while True:
    s = input()
    if s == '555':
        break
    Answer.append(s)

Но что то мне подсказывает что можно делать это намного проще. Недавно положил глаз на функцию iter(), потому что второй аргумент у неё - остановочный, но у меня до сих пор наблюдаются проблемы с её использованием, я подозреваю что она может быть ключом к решению, но сам я не могу его разгадать.

Решил написать сюда, может быть кто-нибудь из вас сможет помочь сжать этот код до 1-3 строчек, я буду вам очень благодарен =)

Прошу, можете использовать любые встроенные функции в Python, но пожалуйста - не используйте не встроенные по стандарту библиотеки (Если решения через таковые имеются)


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

Автор решения: mrEvgenX

Да, с помощью iter можно сократить:

Answer = [s for s in iter(input, '555')]

Полезная ссылка:

→ Ссылка
Автор решения: Кирилл Малышев
Answer = list()
while  (s := input()) != '555' and not Answer.append(s): pass
print(Answer)

Работает для python версии 3.8 и выше

→ Ссылка