简体   繁体   中英

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.index('a')

which returns index if word is not there in list throws 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)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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