我正在尝试创建一个程序,用户输入一个字符串列表,每个字符串都在一个单独的行中。我希望能够返回,例如,第二行中的第三个单词。下面的输入将返回“蓝色”。
input_string("""The cat in the hat
Red fish blue fish """)
目前我有这个:
def input_string(input):
words = input.split('\n')
所以我可以使用单词[n]输出某一行,但是如何输出特定行中的特定单词?我一直试图实现能够输入单词[1] [2],但我创建多维数组的尝试失败了。
我一直试图将每个单词[n]分开几个小时,谷歌没有帮助。我很抱歉,如果这是完全明显的,但我几天前就开始使用Python而且完全卡住了。
答案 0 :(得分:3)
这很简单:
input_string = ("""The cat in the hat
Red fish blue fish """)
words = [i.split(" ") for i in input_string.split('\n')]
它生成:
[['The', 'cat', 'in', 'the', 'hat', ''], ['Red', 'fish', 'blue', 'fish', '']]
答案 1 :(得分:1)
听起来你想在分割空间之前拆分os.linesep
(当前操作系统的行分隔符)。类似的东西:
import os
def input_string(input)
words = []
for line in input.split(os.linesep):
words.append(line.split())
这将为您提供每行的单词列表列表。
答案 2 :(得分:1)
还有一种名为splitlines()
的方法。它将分为换行符。如果你没有传递任何参数,它将删除换行符。如果你传递它True
,它会将它保留在那里,但仍然将线分开。
words = [line.split() for line in input_string.splitlines()]
答案 3 :(得分:0)
试试这个:
lines = input.split('\n')
words = []
for line in lines:
words.append(line.split(' '))
英文: