2017-01-18 17 views
-1

文字列がであるかどうかをチェックしています。辞書のキーの1つです。文字列が辞書のどのキーにも現れるかどうか確認してください

私は条件がmessagea_dictのキーのいずれかの唯一一部場合でもTrueを返すようにしたいです。

どうすればいいですか?文字列に正規表現.*を追加する方法はありますか?それとも良い方法がありますか?

+3

次に、キーを繰り返し処理し、それぞれを確認する必要があります。これは、辞書の効率の大部分を失うことを意味します。 – jonrsharpe

答えて

7

あなたはanyを使用することができます。

elif any(message in key for key in a_dict): 
    do_something() 

あなたはまた、メッセージ含まれているキーが必要な場合:

else: 
    key = next((message in key for key in a_dict), None) 
    if key is not None: 
     do_something(key) 
+0

ニース、 'do_something'に' key'を送る方法はありますか? – jath03

+0

メッセージを含む1つのキーまたはすべてのキーのみが必要ですか? – Daniel

+0

すべてで十分ですが、最初の方が望ましいです。 – jath03

0

あなたは本当にあなたがPythonのinオペレータでやりたいことはできませんが。チェックを手作業で行うのが最善です。すべてのキーを繰り返して、いずれかにmessageが含まれているかどうかを確認してください。

関連する問題