所以我有一个字符串,我已经拆分并从中创建了一个Python列表。
我现在需要找到该列表中某个单词的位置。
我有的问题:我正在寻找的单词在列表中出现两次。我的代码带回了第一个单词的位置,但它没有继续并带回另一个位置。
示例:我踢足球的主要原因是因为我喜欢足球。
它将找到第一个足球但不是第二个。帮助!
这是我的代码:
sentence = " The main reson that i play football is because i love football"
sentence = sentence.split()
print(sentence.index("football"))
答案 0 :(得分:2)
在下面的代码片段中,我将在列表中包含“足球”的索引。
s = 'The main reason that i play football is because i love football.'
words = s.split()
i=[ind for ind,p in enumerate(words) if p=='football']
答案 1 :(得分:0)
import re
looking_for = 'football'
in_text = 'The main reason that i play football is because i love football.'
without_punctuation = re.sub('[^a-zA-Z ]', '', in_text)
words = without_punctuation.split(' ')
for i, w in enumerate(words):
if w == looking_for:
print(i)
但当然。标点符号将成为一个问题,就像在这里一样(带有'足球') - 所以我现在已经剥离了大部分内容。
答案 2 :(得分:0)
试试这个
def findall(list_in, search_str):
output=[]
last_index=0
while True:
try:
find=list_in[last_index:].index(search_str)+last_index
output.append(find)
last_index= find+1;
except:
break
return output
output是一个索引列表,其中search_str可以在list_in
中找到