The code in question you're asking about comes from my answer given here. It was intended to solve the problem of comparing multiple bit arrays - i.e. collections of 1
and 0
.
any
and all
are useful when you can rely on the "truthiness" of values - i.e. their value in a boolean context. 1 is True
and 0 is False
, a convenience which that answer leveraged. 5 happens to also be True
, so when you mix that into your possible inputs... well. Doesn't work.
You could instead do something like this:
[len(set(x)) > 1 for x in zip(*d['Drd2'])]
It lacks the aesthetics of the previous answer (I really liked the look of any(x) and not all(x)
), but it gets the job done.