根据关键字查找并显示列表中的所有索引

时间:2016-01-31 17:33:10

标签: list indexing python-3.4

我在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")

非常感谢

1 个答案:

答案 0 :(得分:0)

试;

positions = [ind for ind, x in enumerate(words) if x == word_to_find]

现在positions将是word_to_find中所有words索引的列表。