On Fri, Dec 30, 2016 at 07:08:27PM -0800, Ethan Furman wrote: > So maybe this will work? > > def __hash__(self): > return hash(self.name) * hash(self.nick) * hash(self.color)
I don't like the multiplications. If any of the three hashes return zero, the overall hash will be zero. I think you need better mixing than that. Look at tuple: py> hash((0, 1, 2)) -421559672 py> hash(0) * hash(1) * hash(2) 0 -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/