2014-12-17 2 views
-4

У меня есть список «стоп-слов», который содержит [«apple», «banana», «pear», «'», «\» «].Как проверить, содержит ли строка какие-либо слова в списке с помощью python?

У меня есть другая переменная, содержащая предложение:" предложение " .

Я хочу простой способ, чтобы иметь возможность проверить, если строка «предложение» содержит все слова в списке «стоп-слов», и если это произойдет, то выдаст ошибку, не используя для цикла.

+1

Получили ли вы какую-либо помощь из документов Google или Python? – thefourtheye

+1

Любой код, который вы уже пробовали? – Marcin

+0

В чем проблема с использованием цикла _for_? – GLHF

ответ

-1
stopwords=["apple", "banana", "pear"] 
sentence="sentence" 
for item in stopwords: 
    if item not in sentence: 
     continue 
    else: 
    print("error here") 

Удостоверьтесь, что вы понимаете разницу между проходом и продолжением.

Я не верю, что есть способ сделать это без для цикла или во время петли

EDIT:

В качестве альтернативы вы можете сделать только

if item in sentence: print("error here") 

, чтобы сэкономить место, если вы хотите.

Как Андерсон Грин отметил, если вы хотите остановить программу на ошибки, сделать

raise Exception("error here") 
+0

Можно ли проверить одиночные или двойные кавычки? – Rolando

+0

Он работает как с одиночным, так и с двойным, даже если они меняются. Например, если предложение = «яблоко», а яблоко в секундах - «яблоко», здесь будет напечатано «ошибка здесь». И наоборот – CyanogenCX

+0

Я отредактировал свой ответ, чтобы сделать его более эффективным, если вы хотите узнать. – CyanogenCX

-1

использовать регулярное выражение.

import re 

stopwords = ["apple", "banana", "pear"] 
pattern = re.compile('|'.join(r'\b{}\b'.format(word) for word in stopwords)) 

>>> sentence = 'one apple for you' 
>>> pattern.search(sentence) != None 
True 

>>> sentence = 'one crabapple each' 
>>> pattern.search(sentence) != None 
False 

>>> sentence = 'ten apples more' 
>>> pattern.search(sentence) != None 
False 

Существует некоторая итерация, необходимая для установки рисунка, но не при сопоставлении рисунка. Обратите внимание, что этот шаблон re также гарантирует, что фактическое слово присутствует само по себе, а не как подстрока большего слова.

Смежные вопросы