Python эквивалент sum () с использованием xor()

мне нравится функция суммы Python:

>>> z = [1] * 11
>>> zsum = sum(z)
>>> zsum == 11
True

Я хочу ту же функциональность с использованием xor ( ^ ) не добавлять (+). Я хочу использовать карту. Но я не могу придумать, как это сделать. Есть намеки?

меня это не устраивает:

def xor(l):
    r = 0
    for v in l: r ^= v
    return v

Я хочу 1 лайнер с помощью карты. Намеки?

1 ответов


zxor = reduce(lambda a, b: a ^ b, z, 0)

import operator
zxor = reduce(operator.xor, z, 0)