все Python 3operatorфункция
operator.ixor
на месте (in-place)
In-place исключающее ИЛИ: a ^= b.
Синтаксис
operator.ixor(a, b)
Для множества меняет его на месте на симметрическую разность: ixor({1, 2}, {2, 3}) даёт {1, 3}. Для int результат нужно присвоить; так переключают биты: flags = ixor(flags, MASK) инвертирует ровно те биты, что стоят в маске.
Примеры
import operator
from functools import reduce
print(operator.ixor(5, 3)) # → 6
print(reduce(operator.ixor, [4, 7, 4, 7, 9])) # → 9
flags = 0b1010
print(bin(operator.ixor(flags, 0b0010))) # → 0b1000
s = {1, 2, 3}
print(sorted(operator.ixor(s, {3, 4}))) # → [1, 2, 4]
print(sorted(s)) # → [1, 2, 4]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности