I'd like to use Python's built-in set class with a custom class that I've created. If I want to create sets containing instances of my custom class, what functions do I need to implement so that I can perform tests, like set_a - set_b?
Python Set Operations. Sets can be used to carry out mathematical set operations like union, intersection, difference and symmetric difference. We can do this with operators or methods.
Set is one of 4 built-in data types in Python used to store collections of data, the other 3 are List, Tuple, and Dictionary, all with different qualities and usage. A set is a collection which is unordered, unchangeable*, and unindexed.
Python set() Function The set() function creates a set object. The items in a set list are unordered, so it will appear in random order.
It will work out of the box, however, there might be cases, when it makes sense to overload __eq__
, __ne__
and __hash__
. By default, __eq__
will compare for object identity. This might not be what you want. In that case, you have to take care that equal object have equal hashes, and, ideally, not equal object have different hashes (although this is not required, it merely reduces collisions). You should always implement __ne__
using __eq__
, unless you have a specific reason to do otherwise (this is done to ensure logical consistency).
Also, when overloading __hash__
, you have to take care that the hash does not change while the object is stored in a set
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With