2016-04-07 10 views
0

Ich benutze derzeit Python 3.4.2, aber bekomme nicht die erwarteten Ergebnisse, wenn ich versuche, nach einer Anzahl von Strings innerhalb eines anderen Strings zu suchen.Suchen nach mehreren Strings in einem anderen String mit einem beliebigen()

Ich erstelle ein Set, das Elemente mit einem ähnlichen String-Format wie TEXT.NA [Y] ABC enthält. Ich versuche nur Elemente des Sets zu fangen, die ein .NA, .SA oder .EU als Beispiel enthalten. in meinem iterable

testset = set() 
testset.add(('Blah','TEXT.NA[Y]ABC')) 
testset.add(('Bleh','OTHER.AU[X]DEF')) 
region = ['.NA', '.SA', '.EU'] 
for text,key in testset: 
    if any(sym in region for sym in key): 
     print(key) 

ich die oben erwartete TEXT.NA [Y] ABC zu drucken, während OTHER.AU Überspringen [X] DEF Sie fragen sich, was ich falsch mache.

Danke!

Antwort

0

Ihre Mitgliedschaftsprüfung ist falsch. Sie müssen prüfen, ob ein Artikel aus region in key ist:

>>> for text,key in testset: 
...  if any(sym in key for sym in region): 
...   print(key) 
... 
TEXT.NA[Y]ABC 
+0

Ah danke, das aussieht wie es den Trick. Ich hatte Verständnis dafür, wie ich den Iterator rückwärts einrichten sollte. Vielen Dank! – Tabin

Verwandte Themen