On Sat, Dec 31, 2016 at 2:24 PM, <j...@math.brown.edu> wrote: > See the "Simply XORing such results together would not be order-sensitive, > and so wouldn't work" from my original post. (Like XOR, multiplication is > also commutative.) > > e.g. Since FrozenOrderedCollection([1, 2]) != FrozenOrderedCollection([2, > 1]), we should try to avoid making their hashes equal, or else we increase > collisions unnecessarily.
How likely is it that you'll have this form of collision, rather than some other? Remember, collisions *will* happen, so don't try to eliminate them all; just try to minimize the chances of *too many* collisions. So if you're going to be frequently dealing with (1,2,3) and (1,3,2) and (2,1,3) and (3,1,2), then sure, you need to care about order; but otherwise, one possible cause of a collision is no worse than any other. Keep your algorithm simple, and don't sweat the details that you aren't sure matter. ChrisA _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/