Python
で論理的なXORを実装する場合、bool(a) != bool(b)
を使うのが最も簡単な方法です。この比較は、片方がTrueで、もう片方がFalseの場合にTrueを返します。
a = True
b = False
result = bool(a) != bool(b) # True
また、bool(a) ^ bool(b)
というビット演算子^
も使えますが、これは通常ビット単位の演算として使用されます。
複数の条件に対してXORを適用する場合、次のように奇数回Trueがあるかを確認する方法が役立ちます。
def logical_xor(*args):
return sum(bool(x) for x in args) % 2 == 1
標準モジュールのoperator
を使うと、明示的にXORを適用することも可能です。
from operator import xor
result = xor(bool(a), bool(b))
このように、Python
では複数の方法で論理XORを実装することができます。