特定の単語セットの文字列セットを検索し、さまざまなブール条件が満たされた場合にいくつかのアクションを実行しようとしています。現在、機能するアプローチがありますが、私が持っている方法よりもエレガントな方法があることを願っています。
strings = ['30 brown bears', '30 brown foxes', '20 green turtles',
'10 brown dogs']
for text in strings:
if ('brown' in text) and ('bear' not in text) and ('dog' not in text):
print text
これは希望どおりに機能し、印刷されます30 brown foxes
。しかし、私が懸念しているのは、検索にさらに用語を追加することです。たとえば、「cat」、「mouse」、「rabbit」などをすべてif-statement
? これは不格好で非 Pythonic なアプローチのように見えるので、誰かがこれを行うための別の方法を持っていることを願っています。