Как извлечь несколько слов из одной строки в sys.stdin в Python?

#python #stdin #sys

#python #стандартный #sys

Вопрос:

Предположим, у меня есть следующее:

 >>> import sys
>>> a = []
>>> for line in sys.stdin.readline():
...     a.append(line.strip())
... 
hello jerry!
>>> a
['h', 'e', 'l', 'l', 'o', '', 'j', 'e', 'r', 'r', 'y', '!', '']
 

Но я хотел бы в итоге получить такой список:

 >>> a
['hello', 'jerry!']
 

Ответ №1:

sys.stdin.readline() возвращает строку, а не список строк. Итак, вы перебираете символы этой строки, а не строки. Измените свой код на это:

 >>> import sys
>>> a = []
>>> for word in sys.stdin.readline().split():
...     a.append(word)
... 
hello jerry!
>>> a
['hello', 'jerry!']
 

Комментарии:

1. Спасибо! Это сработало: i.imgur.com/TJnC6rU.png

2. @IamWarmduscher Конечно, это сработает. Python работает везде одинаково, поэтому вам не нужно это доказывать 😉