Come convertire un dizionario in una lista in Python

Nella programmazione Python, i dizionari sono uno degli strumenti più potenti per la gestione dei dati, consentendo di memorizzare informazioni sotto forma di coppie chiave-valore. 

Tuttavia, esistono situazioni in cui può essere necessario o più conveniente lavorare con liste piuttosto che con dizionari. Ad esempio, alcune operazioni o funzioni possono richiedere input sotto forma di liste, o si potrebbe desiderare di ordinare i dati, operazione che è più diretta con le liste. In questi casi, convertire un dizionario in una lista diventa un'operazione utile. 

Questa guida esplorerà diverse tecniche per convertire un dizionario in una lista in Python, illustrando il processo con esempi pratici e fornendo consigli su quando e come utilizzare ciascun metodo.

Convertire le chiavi di un dizionario in una Lista

Il modo più semplice per convertire un dizionario in una lista è estrarre le chiavi del dizionario. Python fornisce un metodo diretto per fare ciò:

dizionario = {"mela": 1, "banana": 2, "arancia": 3}
lista_chiavi = list(dizionario.keys())

print(lista_chiavi)

Questo codice restituirà una lista contenente le chiavi del dizionario: ['mela', 'banana', 'arancia'].

Convertire i valori di un dizionario in una lista

Analogamente, è possibile convertire i valori di un dizionario in una lista utilizzando il metodo values():

lista_valori = list(dizionario.values())

print(lista_valori)

Il risultato sarà una lista contenente i valori del dizionario: [1, 2, 3].

Convertire le coppie chiave-valore in una lista di tuple

Per conservare la relazione tra chiavi e valori, si possono convertire le coppie chiave-valore in una lista di tuple utilizzando il metodo items():

lista_coppie = list(dizionario.items())

print(lista_coppie)

Questa operazione restituirà una lista dove ogni elemento è una tupla che contiene una coppia chiave-valore del dizionario: [('mela', 1), ('banana', 2), ('arancia', 3)].

Utilizzare Comprehension per la Conversione Personalizzata

Le comprehension di liste offrono un modo flessibile per convertire dizionari in liste, permettendo di applicare trasformazioni personalizzate durante il processo. Ad esempio, per creare una lista di stringhe che combina chiave e valore:

lista_personalizzata = [f"{chiave}: {valore}" for chiave, valore in dizionario.items()]

print(lista_personalizzata)

Il risultato sarà: ['mela: 1', 'banana: 2', 'arancia: 3'].

Considerazioni sull'uso della conversione

  • Efficienza: La conversione di dizionari in liste può essere utile, ma è importante considerare l'efficienza, soprattutto con dizionari di grandi dimensioni. Le operazioni su liste possono essere meno performanti rispetto ai dizionari per certi tipi di ricerca o accesso ai dati.
  • Ordinamento: Una volta convertito un dizionario in una lista, si possono applicare operazioni di ordinamento. Tuttavia, vale la pena ricordare che l'ordine delle coppie chiave-valore in un dizionario (da Python 3.7 in poi) è mantenuto, ma l'ordinamento di una lista potrebbe richiedere passaggi aggiuntivi.
  • Selezione del metodo: La scelta del metodo di conversione dipende dall'obiettivo desiderato. Se è necessario mantenere la relazione tra chiavi e valori, convertire in una lista di tuple potrebbe essere l'approccio migliore. Per lavorare solo con chiavi o solo con valori, l'uso di keys() o values() sarebbe più appropriato.

Conclusione

La conversione di dizionari in liste in Python è un'operazione flessibile che può essere adattata a numerosi scenari di programmazione. Che si tratti di estrarre chiavi o valori per un'ulteriore elaborazione, di conservare la relazione tra chiavi e valori in una struttura ordinata, o di applicare trasformazioni personalizzate, Python offre metodi semplici ed efficaci per raggiungere questi obiettivi.

Indice pagine Python: