2012-04-08 4 views
0

内のリストの任意の値、:Pythonのブール:私はあまり好きではなかった私は最近、自分のコード行を書いた別のリストや辞書

if ('upload' in request.POST) or ('delete' in request.POST): 

私は出回っリスト内包について考え、どの

if [value for value in ['upload','delete'] if value in request.POST]: 

これはあまり良くありません。私の非常に簡単な質問は、これを簡略化できるかということです。それともこれはあまりにもスマートにしようとしていますか?

+0

私はあなたがあまりにもスマートにしようとしていると思います。それでも運動は面白いです。 –

+0

これはまさに私がこの質問をする理由です。私はもちろん、頭痛を起こさずに上のような行を使用します。 – marue

答えて

6

あなたはセットの交差点を使用して、より簡潔に書くことができます:

if {'upload', 'delete'} & set(request.POST): 

以上の明示:

if {'upload', 'delete'}.intersection(request.POST): 
+2

+1セットをもっと使う必要があります。 – delnan

1

簡素化any()を使用しています。

if any(value for value in ['upload','delete'] if value in request.POST): 
関連する問題