Curiosidad sobre __hash__()
Francesc Alted
faltet en pytables.org
Mie Feb 4 10:49:42 CET 2009
A Wednesday 04 February 2009, Pepe Aracil escrigué:
> Hola lista.
>
> Me ha sorprendido que la función hash "solo"
> devuelva un entero.
>
> (1,2,3,4).__hash__()
> 89902565
>
> ¿No os parece que aumenta mucho las probabilidades
> de que se produzca una colisión no deseada en un
> diccionario por ej.?
Bueno, si la función hash está bien elegida, un entero de 32-bit da para
2**31 hash diferentes, y ya tendria que ser grande el diccionario para
que esto sea un problema.
Por otra parte, con plataformas de 64-bit:
In [1]: (1,2,3,4).__hash__()
Out[1]: 485696759010151909
el rango se eleva a 2**63, con lo que la probabilidad de colisiones se
acerca más todavia a 0.
>
> Lo mas seguro es que sea solo un problema de
> percepción de magnitud por mi parte :)
Saludos,
--
Francesc Alted
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es