Ho una lista di oggetti che voglio trasformare in un set. I miei oggetti contengono alcuni campi, alcuni dei quali sono o.id
e o.area
. Voglio che due oggetti siano uguali se questi due campi sono uguali. vale a dire: o1==o2
se e solo se o1.area==o2.area and o1.id==o2.id
.Python: come funzionano gli insiemi
Ho provato a sovrascrivere __eq__
e __cmp__
ma ho ricevuto l'errore: TypeError: unhashable instance
.
Cosa devo sovrascrivere?
http://docs.python.org/library/stdtypes.html#set-types-set-frozenset e http://docs.python.org/glossary.html#term-hashable –