Mam listę obiektów, które chcę zamienić w zestaw. Moje obiekty zawierają kilka pól, z których niektóre są o.id
i. Chcę, aby dwa obiekty były równe, jeśli te dwa pola są takie same. tj: o1==o2
tylko wtedy, gdy o1.area==o2.area and o1.id==o2.id
.Python: Jak działają zestawy
Próbowałem nadpisać __eq__
i __cmp__
, ale pojawia się błąd: TypeError: unhashable instance
.
Co mam przepisać?
http://docs.python.org/library/stdtypes.html#set- typeses-set-frozenset i http://docs.python.org/glossary.html#term-hashable –