2012-12-19 12 views

risposta

12

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.

+1

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()". –

Problemi correlati