C'è qualche vantaggio nell'utilizzo della funzione keys()?Vantaggi dell'uso della funzione keys() durante l'iterazione su un dizionario
for word in dictionary.keys():
print word
vs
for word in dictionary:
print word
C'è qualche vantaggio nell'utilizzo della funzione keys()?Vantaggi dell'uso della funzione keys() durante l'iterazione su un dizionario
for word in dictionary.keys():
print word
vs
for word in dictionary:
print word
Sì, in Python 2.x iterazione direttamente sopra il dizionario salva un po 'di memoria, come la lista chiavi non viene duplicato.
È anche possibile utilizzare .iterkeys()
o in Python 2.7, utilizzare .viewkeys()
.
In Python 3.x, .keys()
è una visualizzazione e non vi è alcuna differenza.
Quindi, in conclusione: usare d.keys()
(o list(d.keys())
in Python 3) solo se si necessità una copia delle chiavi, ad esempio quando si cambia il dict nel ciclo. In caso contrario, scorrere direttamente il dettato.
Vale la pena sottolineare che "la chiave in d" è considerata più idiomatica (e certamente più ordinata nella pagina) di "chiave in d.keys()" o "chiave in d.iterkeys()". –