
Forgive me if this has already been discussed. Could we add the idea of "negative" sets to Python? That means sets that contain EVERYTHING EXCEPT certain elements. First, let's have a universal set that contains everything. assert element in set.UNIVERSAL The universal set is a superset of every other set. assert set.UNIVERSAL >= any_set Adding anything to universal set doesn't change anything. assert set.UNIVERSAL | element == set.UNIVERSAL However REMOVING an element from the set puts it on "negative list". myset = set.UNIVERSAL myset.remove(element) assert element not in myset Intersection of a "negative set" with a normal set gives again a normal set. Union of two negative sets, or a negative set with a normal set, gives a negative set. The main issue: negative sets would not be iterable, but you can intersect them with the desired subdomain and iterate over.