简体   繁体   English

如何在列表中查找单词

[英]How to find a word in a list

so my program will require the user to input a phrase WITHOUT punctuation and the program will return its position in the list. 因此我的程序将要求用户输入不带标点的短语,并且程序将返回其在列表中的位置。

def Detection():
        print(list.index(find))
        find_found=list.index(find)
        list[find_found]="hide"
list = input("Enter a phrase without punctuation:")
print(list) 
list = list.split(" ")
list = [element.lower() for element in list]
find=input("what word must be found?")
find=find.lower()
if find in list:
for find in list:
    Detection()
else:
    print("its not in the list.")

l = ["enter", 'a', 'phrase'] l = [“ enter”,'a','phrase']

l.index('a') l.index('a')

which returns index if word is not there in list throws ValueError Exception. 如果列表中没有单词,则返回索引将引发ValueError Exception。

to get indexes for duplicates also 获取重复的索引

sorted_list = sorted(l)
first_ind = sorted_list.index("enter")
last_ind = len(sorted_list) - sorted_list[::-1].index("enter") - 1
indexes = range(first_ind, last_ind + 1)

i found a way here it is. 我在这里找到了一种方法。

sentence =input("phrase to be shortened: ")
print (sentence)
text = input("Choose a word from the sentence above: ")
sentence = sentence.upper()
sentence = sentence.split(" ")
text = text.upper ()# this makes the text in capital letters
def lookfor (text):
    indexes = [ idx+1 for word, idx in zip(sentence, range(0,len(sentence))) if text == word ]
    print ("Your word has been found in the sentence at these positions", indexes )

    if not indexes:
         print ("The word that you have typed is not found in the sentence.")

lookfor(text)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM