Comprensioni del Dizionario
Le comprensioni dei dizionari forniscono un modo conciso per creare dizionari in Python, simile alle comprensioni delle liste. Consentono di trasformare i dati in coppie chiave-valore in una singola riga di codice.
Nel suo cuore, una comprensione di dizionario di base ti permette di costruire un nuovo dizionario applicando un'espressione a ciascuna coppia chiave-valore in una variabile iterabile.
python
key_expression
: definisce la chiave per ciascuna coppia chiave-valore;value_expression
: definisce il valore corrispondente alla chiave;iterable
: la fonte degli elementi da elaborare (ad esempio, una lista, un intervallo o un altro iterabile).
travel_wishlist = [ ['Paris', 2000], ['Tokyo', 3000], ['New York', 2500], ['Kyoto', 1500], ['Sydney', 4000] ] # Initialize an empty dictionary travel_budget = {} # Populate the dictionary using a for loop for destination, cost in travel_wishlist: travel_budget[destination] = cost print(travel_budget)
Questo codice itera attraverso la lista travel_wishlist
, dove ogni sotto-lista contiene una destinazione e il suo budget. Il ciclo for
assegna la destinazione come chiave e il budget come valore nel dizionario travel_budget
.
travel_wishlist = [ ['Paris', 2000], ['Tokyo', 3000], ['New York', 2500], ['Kyoto', 1500], ['Sydney', 4000] ] # Create the dictionary using dictionary comprehension travel_budget = {destination: cost for destination, cost in travel_wishlist} print(travel_budget)
Questo esempio utilizza la comprensione del dizionario per ottenere lo stesso risultato dell'esempio precedente. Ogni destinazione diventa una chiave e il suo costo corrispondente diventa il valore nel dizionario travel_budget
, tutto in una sola riga.
Swipe to start coding
Un viaggiatore vuole organizzare la sua travel_wishlist
mappando ogni nome della città al corrispondente paese. Per ottenere questo in modo efficiente, è necessario trasformare i dati in un dizionario.
- Estrai i nomi delle città e i loro paesi corrispondenti da
travel_wishlist
. - Memorizza il dizionario risultante in
city_to_country
.
Soluzione
Grazie per i tuoi commenti!