[pyar] Duda acerca de sets

Tordek kedrot en gmail.com
Dom Ene 29 02:41:49 ART 2012


On 29/01/12 02:28, Lucas Liendo wrote:
> En el programa de prueba para la lista (l) la comparacion se realiza
> correctamente (ingresa a __eq__ como es esperado) y la lista posee
> un unico elemento como debe ser. En el segundo caso intento hacer lo
> mismo sobre un set (s) pero se puede ver que terminan ingresando los
> 2 objetos a la coleccion, lo cual es incorrecto. ¿Sera necesario
> redifinir algun metodo adicional?

Tenés que definir __hash__:

def __hash__(self):
     return hash(self.id)

De http://docs.python.org/library/sets.html:

"[...] the requirements for set elements are the same as those for 
dictionary keys; namely, that the element defines both __eq__() and 
__hash__()."

-- 
Guillermo O. «Tordek» Freschi. Programador, Escritor, Genio Maligno.
http://tordek.com.ar :: http://twitter.com/tordek



More information about the pyar mailing list