Checking if all elements in a list are unique
Here is a two-liner that will also do early exit:
>>> def allUnique(x):... seen = set()... return not any(i in seen or seen.add(i) for i in x)...>>> allUnique("ABCDEF")True>>> allUnique("ABACDEF")False
If the elements of x aren't hashable, then you'll have to resort to using a list for seen
:
>>> def allUnique(x):... seen = list()... return not any(i in seen or seen.append(i) for i in x)...>>> allUnique([list("ABC"), list("DEF")])True>>> allUnique([list("ABC"), list("DEF"), list("ABC")])False