Проверьте подстроку совпадения слова в списке слов

Я хочу проверить, есть ли слово в списке слов.

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

Я попробовал, if word in set(list) , но оно не дает желаемого результата из-за того, что in строке соответствует строка, а не элемент. То есть "with" является совпадением в любом из слов в word_list но все же, if "with" in set(list) будет говорить « True .

Что является более простым способом для выполнения этой проверки, чем вручную перебирать list ?

3 Solutions collect form web for “Проверьте подстроку совпадения слова в списке слов”

Вы можете сделать:

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

Он проверяет каждое слово для соответствия и возвращает true, если есть совпадения

in работает как ожидалось для точного соответствия :

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

Вы также можете использовать:

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

или

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

Однако, если вы ищете подстроку , тогда:

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

btw, dont использовать list для имени переменной

Вы также можете создать одну строку поиска, объединив все слова в word_list в одну строку:

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

Тогда простой тест будет выполнять эту работу:

 return word in word_list 
  • Удалить символ новой строки в списке, считанном из файла
  • Проверьте, заканчивается ли строка одной из строк из списка.
  • Как вернуть строку в список
  • Что такое StringIO в python, который используется в действительности?
  • Как создать изображение из строки в python
  • Попытка подсчета слов в строке
  • Удаление списка символов в строке
  • Соответствующие слова Python с одинаковым индексом в строке
  • Как я могу разбить строку при первом вхождении буквы в Python?
  • Могу ли я сделать «string содержит X» с процентной точностью в python?
  • Объединение элемента в список строк
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.