python - Display element of a list detected by "if any" -


i'm using simple system check if banned words in string i'd improve display word in question added line

print ("banned word detected : ", word) 

but error

"nameerror: name 'word' not defined" 

if think problem system checking if of words in list without "storing it" somewhere, maybe misunderstanding python list system, advice of should modify ?

# -*- coding: utf-8 -*-  bannedwords = ['word1','word2','check'] mystring = "the string i'd check"  if any(word in mystring word in bannedwords):     print ("banned word detected : ", word) else :     print (mystring) 

any() isn't suitable this, use generator expression next() instead or list comprehension:

banned_word = next((word word in mystring.split() if word in bannedwords), none) if banned_word not none:    print("banned word detected : ", word) 

or multiple words:

banned_words = [word word in mystring.split() if word in bannedwords] if banned_words:     print("banned word detected : ", ','.join(banned_words)) 

for improved o(1) membership testing, make bannedwords set rather list


Comments

Popular posts from this blog

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

python Tkinter Capturing keyboard events save as one single string -

sql server - Why does Linq-to-SQL add unnecessary COUNT()? -