我在Python 3中有以下代码,它找到并显示列表中搜索单词的第一个示例,即单词'now'在位置3,但如果单词出现两次或更多的在列表中,我找不到显示第二/第三等索引的方法。即“现在”一词出现在第3和第5位。
我在网上看过一些非常复杂的版本,但想知道我是否可以保持它非常简单。我知道.index()只找到第一个索引,那么我可以使用另一种方法吗?
代码:
sentence=input("Enter your sentence here: ")
sentence=sentence.lower()
words=(sentence.split())
print(words)
word_to_find=input("What word position do you want to find? ")
word_to_find=word_to_find.lower()
if word_to_find in words:
position=words.index(word_to_find)
print( "The word ", word_to_find, "is in position(s): ",position+1)
else:
print("No word exists")
非常感谢
答案 0 :(得分:0)
试;
positions = [ind for ind, x in enumerate(words) if x == word_to_find]
现在positions
将是word_to_find
中所有words
索引的列表。