Python Convertire Lista in Dizionario: Una Guida Completa

Ott 17, 2021
admin

Puoi convertire una lista Python in un dizionario usando la comprensione del dizionario, dict.fromkeys(), o il metodo zip(). Tutti e tre i metodi creano un nuovo dizionario. Non modificano la lista esistente.

Liste e dizionari Python sono due strutture usate per memorizzare dati. Ma cosa succede se volete convertire una lista in un dizionario? Potreste volerlo fare se volete assegnare un’etichetta unica ad ogni valore che avete memorizzato. Questo è possibile solo in un dizionario.

Ci sono alcune tecniche e funzioni integrate che puoi usare in Python per convertire una lista in un dizionario. Questo tutorial di programmazione discuterà, con riferimento ad esempi, come convertire una lista in un dizionario in Python.

Liste e dizionari Python

Liste e dizionari sono esempi di collezioni Python. Ti permettono di memorizzare più valori simili insieme in una struttura di dati.

form-submission
Trova il tuo Bootcamp
  • Career Karma ti abbina ai migliori bootcamp tecnologici
  • Ottieni borse di studio esclusive e corsi di preparazione

La struttura dati della lista ti permette di memorizzare dati in un ordine specifico. Ecco un esempio di una lista Python:

takeout_prices = 

La nostra lista chiamata takeout_prices contiene quattro valori.

I dizionari, invece, non sono ordinati e non possono memorizzare più valori duplicati.

Ecco un esempio di dizionario Python:

takeout_prices = {'single_chips': 2.50,'large_chips': 2.75,'single_fish': 4.50,'large_fish': 5.00}

I dizionari sono utili se si vogliono associare etichette ad ogni valore. Le liste sono migliori se state memorizzando dati simili, come una lista di prezzi o nomi, dove non potete etichettare ogni valore.

Python Convertire lista in dizionario

Potete convertire una lista Python in un dizionario usando il metodo dict.fromkeys(), una comprensione del dizionario, o il metodo zip(). Il metodo zip() è utile se volete unire due liste in un dizionario.

Riassumiamo velocemente questi metodi:

  • dict.fromkeys(): Usato per creare un dizionario da una lista. Potete opzionalmente impostare un valore predefinito per tutte le chiavi. Non potete impostare valori individuali per ogni elemento del dizionario.
  • Comprensione del dizionario: Crea un nuovo dizionario da un elenco esistente. Puoi specificare valori diversi per ogni chiave del dizionario. La comprensione dei dizionari è simile alla comprensione delle liste di Python nella struttura.
  • zip(): Converte due o più liste in una lista di tuple. Potete usare il metodo dict() per convertire la lista di tuple in un dizionario.

Utilizzeremo ognuno dei tre metodi precedenti per dimostrare come possiamo convertire una lista in un dizionario.

Python Convert List to Dictionary: dict.fromkeys()

Diciamo che abbiamo una lista di frutti che vogliamo trasformare in un dizionario. Il valore assegnato ad ogni frutto dovrebbe essere In stock:

fruits = 

Potremmo creare questo dizionario usando il metodo dict.fromkeys(). Questo metodo accetta una lista di chiavi che volete trasformare in un dizionario. Opzionalmente, potete specificare un valore che volete assegnare ad ogni chiave.

Potete specificare solo un valore da assegnare ad ogni chiave. Non puoi dire che una chiave dovrebbe avere un valore e un’altra chiave dovrebbe avere un valore diverso.

Trasformiamo la nostra lista di frutti in un dizionario:

fruits = fruit_dictionary = dict.fromkeys(fruits, "In stock")print(fruit_dictionary)

Il nostro codice restituisce gli oggetti di questa lista in un oggetto dizionario:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Prima dichiariamo una variabile Python chiamata fruits che contiene i nomi delle chiavi che vogliamo usare nel nostro dizionario.

Utilizziamo dict.fromkeys() per creare un dizionario che usi i nomi delle chiavi che abbiamo memorizzato nell’array fruits. Questo metodo assegna il valore di ogni chiave a In stock. Infine, stampiamo il nuovo dizionario sulla console.

Se non avessimo specificato il valore In stock nel nostro codice, il valore predefinito per le chiavi nel nostro dizionario sarebbe None.

Convertire lista in dizionario Python: Comprensione del dizionario

Possiamo anche usare una tecnica chiamata comprensione del dizionario per convertire una lista Python in un dizionario usando gli stessi valori.

Una comprensione del dizionario è simile alla comprensione della lista in quanto entrambi i metodi creano un nuovo valore dei rispettivi tipi di dati. Le comprensioni di dizionario usano parentesi acute ({}) mentre le comprensioni di lista usano parentesi quadre ().

Convertiamo la nostra lista di frutta in un dizionario usando la comprensione del dizionario:

fruits = fruit_dictionary = { fruit : "In stock" for fruit in fruits }print(fruit_dictionary)

Il nostro codice ritorna:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Prima di tutto, abbiamo dichiarato una lista chiamata fruits che contiene i nomi che vogliamo spostare in un dizionario.

Poi, abbiamo usato la comprensione del dizionario per scorrere ogni elemento della lista fruits. Aggiungiamo un elemento al nostro nuovo dizionario per ogni frutto nella nostra lista. Il valore che abbiamo assegnato ad ogni frutto era In stock. Infine, abbiamo stampato il nostro nuovo dizionario sulla console.

Python Convertire Lista in Dizionario: zip()

Nel nostro ultimo esempio, abbiamo convertito una singola lista in un dizionario e assegnato un valore predefinito per ogni elemento nel dizionario. Tuttavia, è possibile convertire due liste in un dizionario.

Per farlo, possiamo usare la funzione Python zip(). Questa funzione ci permette di unire due liste insieme. Possiamo usare una lista come chiave del dizionario e l’altra come valore.

Supponiamo di avere due liste: una contenente una lista di frutta e l’altra contenente il prezzo di un singolo pezzo di frutta. Vogliamo creare un unico dizionario che memorizzi il nome di un frutto, insieme al suo prezzo. Possiamo usare il seguente codice per realizzare questo compito:

fruits = prices = fruit_dictionary = dict(zip(fruits, prices))print(fruit_dictionary)

Il nostro codice restituisce:

{'Apple': 0.35, 'Pear': 0.4, 'Peach': 0.4, 'Banana': 0.28}

Prima abbiamo specificato due liste: una lista di frutta e una lista di prezzi. Poi, abbiamo usato la funzione zip() per unire le nostre due liste. La funzione zip() restituisce una lista di tuple unite. Poiché vogliamo un dizionario, abbiamo usato dict() per convertire le nostre tuple in un dizionario.

In seguito, abbiamo stampato il contenuto del nostro nuovo dizionario sulla console.

Conclusione

Per convertire una lista in un dizionario usando gli stessi valori, potete usare il metodo dict.fromkeys(). Per convertire due liste in un dizionario, potete usare la funzione Python zip(). La comprensione del dizionario ti permette di creare un nuovo dizionario basato sui valori di una lista.

In questo tutorial, abbiamo usato esempi per dimostrare come usare tre approcci per convertire una lista in un dizionario in Python. Ora sei pronto per iniziare a convertire liste in dizionari in Python come un programmatore professionista!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.