Python中的sys.stdin中的一行如何提取多个单词?
How do extract multiple words on one line in sys.stdin in Python?
假设我有以下内容:
>>> 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!']
sys.stdin.readline()
returns 一个字符串而不是行列表。因此,您正在迭代该字符串的字符而不是行。将您的代码更改为:
>>> import sys
>>> a = []
>>> for word in sys.stdin.readline().split():
... a.append(word)
...
hello jerry!
>>> a
['hello', 'jerry!']
假设我有以下内容:
>>> 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!']
sys.stdin.readline()
returns 一个字符串而不是行列表。因此,您正在迭代该字符串的字符而不是行。将您的代码更改为:
>>> import sys
>>> a = []
>>> for word in sys.stdin.readline().split():
... a.append(word)
...
hello jerry!
>>> a
['hello', 'jerry!']