I am trying to compare elements of a list u
for equality.
A possible solution could be all(x == u[0] for x in u[1:])
, or simply all(x == u[0] for x in u)
, but it looks rather weird.
In Python, it's possible to write a == b == c
, with its usual "mathematical" meaning. So I thought I could, with the help of the operator module, write operator.eq(*u)
. However, the eq
function takes only two arguments. Of course, functools.reduce(operator.eq, u)
is of no use here, since after the first test eq(u[0], u[1])
, I get a boolean, and it will fail when doing the second test, eq(<bool>, u[2])
.
Is there a better way than the solution above? A more... "pythonic" way?