私がこの状態にあると仮定しましょう。a と b は既にブール値であると仮定します。
if not a and b:
do something
if a and not b:
do something different
それをもっと最適化する方法はありますか?
私がこの状態にあると仮定しましょう。a と b は既にブール値であると仮定します。
if not a and b:
do something
if a and not b:
do something different
それをもっと最適化する方法はありますか?
2 つの条件が互いに除外されています。次のように書き換えることができます。
if bool(a) != bool(b): # a xor b
if a:
print "a and not b"
else:
print "not a and b"
しかし、それははるかにあいまいに見えます。したがって、私にとって最良の方法は次のとおりです。
if not a and b:
print "not a and b"
elif a and not b:
print "a and not b"
elif
(の代わりにメモif
)。
排他的な or (xor) を探しているようです。これを試して:
if a is not b:
print "a xor b"