Python 每次查找关键字后的下一个单词';遭遇

Python 每次查找关键字后的下一个单词';遭遇,python,string,find,keyword,Python,String,Find,Keyword,我的目标是在每次遇到关键词后找到下一个单词,而不仅仅是第一次。输出应该是Jack Matthew,而不仅仅是Jack。index使用索引的第二个可选参数开始搜索。因此,您可以在列表上循环,并从先前查找名称的位置调用索引,直到找到所有名称: ind=-1 尽管如此: 尝试: ind=split_string.index('name',ind+1) 除值错误外: 打破 打印(拆分字符串[ind+1]) 索引采用索引的第二个可选参数开始搜索。因此,您可以在列表上循环,并从先前查找名称的位置调用索引,直

我的目标是在每次遇到关键词后找到下一个单词,而不仅仅是第一次。输出应该是Jack Matthew,而不仅仅是Jack。

index
使用索引的第二个可选参数开始搜索。因此,您可以在列表上循环,并从先前查找名称的位置调用索引,直到找到所有名称:

ind=-1
尽管如此:
尝试:
ind=split_string.index('name',ind+1)
除值错误外:
打破
打印(拆分字符串[ind+1])

索引
采用索引的第二个可选参数开始搜索。因此,您可以在列表上循环,并从先前查找名称的位置调用索引,直到找到所有名称:

ind=-1
尽管如此:
尝试:
ind=split_string.index('name',ind+1)
除值错误外:
打破
打印(拆分字符串[ind+1])

您可以将单词列表压缩成相邻的单词对。然后,对于每一对,测试第一对是否为
“name”


您可以将单词列表压缩成相邻的单词对。然后,对于每一对,测试第一对是否为
“name”


工作得很好。谢谢工作得很好。谢谢
string = "Is your name Jack ? Wasn't your name Matthew ?"
split_string = string.split()
find_names = split_string[split_string.index("name") +1]

print(find_names)

#Output: Jack
string = "Is your name Jack ? Wasn't your name Matthew ?"
split_string = string.split()

[name for test, name in zip(split_string, split_string[1:]) if test == 'name']
# ['Jack', 'Matthew']