多数の特定キーワードを含むか、を長々とifステートメントで書くの嫌だから短くしてみた

リストについてループ処理をしていて、特定キーワードを含んだものだったらcontinue.という処理を書いているのだが、

if KEYWORD in STRING:continue

とすると、キーワードが多くなると↓のようにすごい面倒になる。

for row in LIST:
   (省略)
    if KEYWORD1 in STRING:continue
    if KEYWORD2 in STRING:continue
    if KEYWORD3 in STRING:continue
...

かと言って↓のような処理もいまいち…ってか、こんな書き方あるの?少し調べたけど分かんなかった。JavaScriptではあったと思うんだけど。

for row in List:outer_loop
    for keyword in KEYWORD_LIST:inner_loop
        if keyword in row:
            continue outer_loop

そこでlambda式とかmap関数が使えないかと思い、試してみた。

for row in LIST:
    matrix = map((lambda key: key in row),['KEYWORD1','KEYWORD2','KEYWORD3'])
    if bool(set(matrix) - set([False,False,False])):continue#一箇所でもTrueがあるか?

rowがすべてのキーワードを含まない場合、matrix = [False,False,False]となり、一つでもキーワードを含む場合はmatrix = [False,True,False]のようになる。そしてset関数で集合オブジェクトを生成して、差集合の真偽値を判定する。
つまり、set関数で重複しない要素の集合(A)を作り、要素として False のみを持つ集合(B)との差集合を取る(AにB以外の要素があるか?)。A = Bの場合、差集合は空集合となり真偽値はFalseとなる。差集合に要素がある場合は真偽値は真となる。