General Tips and Traps¶
The set class is implemented based on hash table which means that its elements must be hashable (has methods
__hash__
and__eq__
). The set class implements the mathematical concepts of set which means that its elements are unordered and does not perserve insertion order of elements. Notice that this is different from the dict class which is also implemented based on hash table but keeps insertion order of elements! The article Why don't Python sets preserve insertion order?
Collections and Iterators in C++
Collections
-
Prefer
std::deque
tostd::vector
when the size of the collection is unknow. -
Suppose set
A
andB
are two set with the same type and setC
is another set with the same value type but a different comparison function, then it is still valid to insert …