Eventuali duplicati:
'has_key()' or 'in'?Efficienza dict.has_key ed inserire dict in Python
In Python, Ci sono due modi di decidere se un key
è in una dict
:
if dict.has_key(key)
e if key in dict
Qualcuno mi dice che il secondo è più lento del primo poiché la parola chiave in
rende l'espressione una ripetizione del dett, quindi sarà più lenta dell'alternativa has_key
, che apparentemente usa l'hash per prendere la decisione.
Come dubito fortemente della differenza, dal momento che penso che Python sia abbastanza intelligente da tradurre una parola chiave in
prima di un dict
in modo hash, non riesco a trovare alcuna rivendicazione formale su questo.
Quindi c'è davvero qualche differenza di efficienza tra i due?
Grazie.
.... tutto questo, inoltre, 'has_key()' è deprecato e non dovrebbe più essere usato. :) – jonesy