Check substring match of a word in a list of words

后端 未结 3 1284
旧时难觅i
旧时难觅i 2021-01-06 20:30

I want to check if a word is in a list of words.

word = \"with\"
word_list = [\"without\", \"bla\", \"foo\", \"bar\"]

I tried if word

相关标签:
3条回答
  • 2021-01-06 20:50

    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

    0 讨论(0)
  • 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 
    
    0 讨论(0)
  • 2021-01-06 20:56

    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

    0 讨论(0)
提交回复
热议问题