Daniele Varrazzo ha scritto:
> Pietro Battiston ha scritto:
>
>   
>> In realtà poi al mio codice bastava una modifica minima: evitare che
>> "delete" azzeri self.ID: gli oggetti rimangono non immutabili ma il
>> valore di hash è dato dalla loro "parte immutabile".
>>     
>
> Già, ma in questo caso l'uguaglianza è data dal contenuto (usi set.__eq__). 
> Quindi puoi avere due oggetti uguali ma con hash diverso, che è contrario 
> alla 
> semantica che dict si aspetta dall'hash (due oggetti uguali devono avere lo 
> stesso hash).
>
> Quindi non sono sicuro che tu abbia risolto il tuo problema, a meno che non 
> implementi anche:
>
>      def __eq__(self, other):
>          return self.ID == other.ID
>
> (e tanto vale usare la funzione id() a questo punto).
>   

Già, che stolto. Hai probabilmente scongiurato anticipatamente una mia
altra disperata richiesta ...

Pietro
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a