Check substring match of a word in a list of words

孤人 提交于 2019-11-30 23:31:49

You could do:

found = any(word in item for item in wordlist)

It checks each word for a match and returns true if any are matches

in is working as expected for an exact match:

>>> word = "with"
>>> mylist = ["without", "bla", "foo", "bar"]
>>> word in mylist
False
>>> 

You can also use:

milist.index(myword)  # gives error if your word is not in the list (use in a try/except)

or

milist.count(myword)  # gives a number > 0 if the word is in the list.

However, if you are looking for a substring, then:

for item in mylist:
    if word in item:     
        print 'found'
        break

btw, dont use list for the name of a variable

You could also create a single search string by concatenating all of the words in word_list into a single string:

word = "with" 
word_list = ' '.join(["without", "bla", "foo", "bar"])

Then a simple in test will do the job:

return word in word_list 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!