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).
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python