0

私は最近、このコード行を書いていることに気付きましたが、あまり好きではありませんでした:

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

私はすでに次のようなリスト内包表記について考えていました:

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

これは正確には良くありません。私の非常に単純な質問は、これを単純化できますか? それとも、賢くなりすぎているだけですか?

4

2 に答える 2

6

set Intersection を使用すると、より簡潔に記述できます。

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

またはより明示的に:

if {'upload', 'delete'}.intersection(request.POST):
于 2012-04-08T19:26:00.537 に答える
1

単純化は を使用しany()ます。

if any(value for value in ['upload','delete'] if value in request.POST):
于 2012-04-08T19:26:04.990 に答える