10

Python で比較ステートメントを省略して、すべてをもう一度書き出す必要がないようにする方法はありますか? たとえば、次の代わりに:

a=3
if a==3 or a==2:
    print "hello world"

次のようなことができますか: if a==(3 or 2): print "hello world"

上記の例が機能しないことはわかっていますが、目的の効果を達成できる別の方法はありますか?

4

3 に答える 3

14

正確に何が欲しいかに応じて、可能な解決策:

  • if a in (2,3)
  • if a in xrange(2, 4)
  • if 2 <= a <= 3
于 2012-05-16T19:57:07.783 に答える
14
if a in (2, 3):
  print "hello world"
于 2012-05-16T19:56:36.263 に答える
13

以下の回答の理由については、Python 3.2 の最適化を参照してください。

a = 3
if a in {2, 3}:
    print('Hello, world!')
于 2012-05-16T20:11:46.403 に答える