On Fri, May 2, 2008 at 8:46 PM, Pietro Battiston <[EMAIL PROTECTED]> wrote:
> Ora, la mia coscienza sporca mi suggerisce che forse quando ho > sovrascritto __hash__ ho fatto più di quanto dovrebbe fare uno che di > internal Python non ne sa abbastanza, e che le hash di tutti gli > oggetti che conosco sono (solitamente) univoche. Ma... Non è questione di internals. E' questione di algoritmi. Devi definire una funzione (quasi) univoca sugli oggetti che a te interessano. La proprietà è che se hash(x) == hash(y) per te x e y devono essere uguali e che possibilmente se devono essere diversi non abbiano lo stesso hash (che vuole dire "è estremamente poco probabile che..."). > "not necessarily true" non significa che dovrebbe alla fine fregarsene > se in un insieme due elementi distinti (e peraltro identici in tutto > tranne l'allocazione di memoria) hanno la stessa hash?! Dice chiaramente: due valori con lo stesso valore hanno anche lo stesso hash, due valori con diverso hash potrebbero avere lo stesso valore (o anche no). E' frequente: per esempio se crei una classe "vuota" tutte le sue istanze avranno lo stesso hash (se la prova non mi inganna). > Qualcunque schiarimento è graditissimo, scusate la chilometricità > della mail. Io tutt'ora non ho capito quale sia il tuo problema. -- -enrico _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python