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 Python@lists.python.it http://lists.python.it/mailman/listinfo/python