Python Language Accesso a chiavi e valori


Esempio

Quando si lavora con i dizionari, è spesso necessario accedere a tutte le chiavi e i valori del dizionario, in un ciclo for , in una list comprehension o semplicemente come un elenco semplice.

Dato un dizionario come:

mydict = {
    'a': '1',
    'b': '2'
}

Puoi ottenere un elenco di chiavi usando il metodo keys() :

print(mydict.keys())
# Python2: ['a', 'b']
# Python3: dict_keys(['b', 'a'])

Se invece vuoi un elenco di valori, usa il metodo values() :

print(mydict.values())
# Python2: ['1', '2']
# Python3: dict_values(['2', '1'])

Se vuoi lavorare sia con la chiave che con il suo valore corrispondente, puoi usare il metodo items() :

print(mydict.items())
# Python2: [('a', '1'), ('b', '2')]
# Python3: dict_items([('b', '2'), ('a', '1')])

NOTA: poiché un dict non è ordinato, le keys() , values() e items() non hanno alcun ordinamento. Utilizzare sort() , sorted() , o un OrderedDict se vi preoccupate per l'ordine che questi metodi restituiscono.

Python 2/3 Differenza: In Python 3, questi metodi restituiscono oggetti iterabili speciali, non elenchi e sono l'equivalente dei iterkeys() , itervalues() e iteritems() di Python 2. Questi oggetti possono essere utilizzati come liste per la maggior parte, anche se ci sono alcune differenze. Vedi PEP 3106 per maggiori dettagli.