2016-04-11 10 views
0

Ich habe eine Python-Liste, die Strings angibt. Wenn eine andere Zeichenfolge alle Wörter in der Liste aufgeführten enthält ausschließen dann, dass andere Zeichenfolge für die weitere Verarbeitung:Suche ein Muster, wenn existiert

print ignore_list 
['name', 'wait', 'delete'] 

ich andere Zeichenfolge, die von unten Format ist:

My Name is xxxx 
OR 
Hello 
OR 
This is to be deleted 
etc 

Jetzt muss ich ausschließen alle Strings, die wie in ignore_list erwähnt str eingebettet haben. Mein Code ist so etwas wie unten:

if string_val and not string_val in ignore_list: 
print string_val 

Aber der obere Code scheint tatsächlich etwas, was den Vergleich wie:

if "This is to be deleted" and "This is to be deleted" in 
['name', 'wait', 'delete']: 
print string_val ==> prints "This is to be deleted" as the same is not present in the list 

Wie kann ich das gleiche erreichen dh Wenn eine Liste von String-Werte in Zeichenfolge eingebettet ist dann es sollte ignoriert werden, sonst verarbeitet?

Antwort

0

können Sie kombinieren all mit Generator Ausdruck, der auf Ignore-Liste der Mitglieder für jedes Wort überprüft:

if all(x not in s for x in ignore_list): 
    print s 
Verwandte Themen