Python で比較ステートメントを省略して、すべてをもう一度書き出す必要がないようにする方法はありますか? たとえば、次の代わりに:
a=3
if a==3 or a==2:
print "hello world"
次のようなことができますか: if a==(3 or 2): print "hello world"
上記の例が機能しないことはわかっていますが、目的の効果を達成できる別の方法はありますか?
Python で比較ステートメントを省略して、すべてをもう一度書き出す必要がないようにする方法はありますか? たとえば、次の代わりに:
a=3
if a==3 or a==2:
print "hello world"
次のようなことができますか: if a==(3 or 2): print "hello world"
上記の例が機能しないことはわかっていますが、目的の効果を達成できる別の方法はありますか?
正確に何が欲しいかに応じて、可能な解決策:
if a in (2,3)
if a in xrange(2, 4)
if 2 <= a <= 3
if a in (2, 3):
print "hello world"
以下の回答の理由については、Python 3.2 の最適化を参照してください。
a = 3
if a in {2, 3}:
print('Hello, world!')