Duplicar posibles:
'has_key()' or 'in'?diferencia entre eficiencia y dict.has_key clave en dict en Python
En Python, hay dos maneras de decidir si un key
está en un dict
:
if dict.has_key(key)
y if key in dict
Alguien me dice que el segundo es más lento que el primero ya que la palabra clave in
hace que la expresión sea una iteración sobre el dict, por lo que será más lenta que la alternativa has_key
, que aparentemente usa hash para tomar la decisión.
Como dudo mucho de la diferencia, ya que creo que Python es lo suficientemente inteligente como para traducir una palabra clave in
ante un dict
de alguna manera hash, no puedo encontrar ningún reclamo formal sobre esto.
¿Existe realmente alguna diferencia de eficiencia entre los dos?
Gracias.
.... todo esto y, además, 'has_key()' está en desuso y ya no se debe usar. :) – jonesy