Why does CPython (no clue about other Python implementations) have the following behavior?
tuple1 = () tuple2 = ()
The == operator on lists and dicts do not compare the object IDs to see if they the same object - use obj1 is obj2 for that.
obj1 is obj2
Instead the == operator compares the members of the list of dict to see if they are the same.