[Python] Dubbi su hash e set
Pietro Battiston
toobaz a email.it
Dom 4 Maggio 2008 17:00:49 CEST
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
Maggiori informazioni sulla lista
Python