#!/usr/local/bin/python2 class C(object): def __init__(self, name): self.name = name def __eq__(self, o): return self.name == o.name if isinstance(o, C) else NotImplemented def __hash__(self): return hash((C, self.name)) c = C(1) c2 = C(1) c3 = C(3) d = {c: 1, c3: 3, c2: 2, 1: 3} print d