On 08/10 12:20, haael wrote:
>
> 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.
> _______________________________________________
> Python-ideas mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/[email protected]/message/MY77JS226XWLV7FGTS4KRSWPI45VB64I/
> Code of Conduct: http://python.org/psf/codeofconduct/
Aside from the amusing thought experiments (that I admin I enjoy), isn't
this the same as:
removed = set()
assrt element in removed # False, as in it has not yet been
"removed from the universal" set
removed.add(element)
assrt element not in removed # False, as it has been already
"removed from the universal" set
If so, it should be relatively easy (as Joao says in some other reply)
to implement a class that behaves that way.
--
David Caro
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/727OWZQH5FHDGKZAQOMD23QDMXJ4VJGI/
Code of Conduct: http://python.org/psf/codeofconduct/