Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comprensione del Dizionario con Condizione | Comprensioni di Liste e Dizionari
Tutorial sui Cicli in Python

bookComprensione del Dizionario con Condizione

È possibile aggiungere una condizione in una dictionary comprehension per filtrare dinamicamente gli elementi durante la creazione del dizionario. La sintassi per una dictionary comprehension con condizione è:

{key_expression: value_expression for item in iterable if condition}
12345678910111213141516
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
copy

Questo codice itera sulla lista travel_wishlist, verificando se il budget di ogni destinazione è inferiore o uguale a $2500. Se la condizione è soddisfatta, la città e il relativo budget vengono aggiunti al dizionario affordable_destinations.

123456789101112
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
copy

Questo esempio ottiene lo stesso risultato del precedente, ma in modo più conciso ed elegante. La condizione if budget <= 2500 filtra le destinazioni in base al budget, e il dizionario risultante include solo le destinazioni accessibili.

Note
Nota

Se si tenta di decomporre solo due variabili (city e budget), Python non sarà in grado di elaborare correttamente ogni elemento della lista, poiché ogni sottolista contiene tre elementi (city, country e budget). Questo causerà un errore, poiché Python cercherà di assegnare tre elementi a due variabili.

Ecco come apparirebbe:

affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}

Questo codice genererà un ValueError: not enough values to unpack (expected 2, got 3), perché ogni elemento nella lista ha tre valori e si sta tentando di decomporre solo due.

Compito

Swipe to start coding

Un viaggiatore desidera filtrare la propria travel_wishlist per includere solo le destinazioni in Giappone. Per ottenere questo in modo efficiente, è necessario estrarre le coppie città-budget rilevanti in un dizionario.

  • Filtrare la travel_wishlist per includere solo le destinazioni in cui il paese è "Japan".
  • Salvare il dizionario risultante in japanese_destinations.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

bookComprensione del Dizionario con Condizione

Scorri per mostrare il menu

È possibile aggiungere una condizione in una dictionary comprehension per filtrare dinamicamente gli elementi durante la creazione del dizionario. La sintassi per una dictionary comprehension con condizione è:

{key_expression: value_expression for item in iterable if condition}
12345678910111213141516
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
copy

Questo codice itera sulla lista travel_wishlist, verificando se il budget di ogni destinazione è inferiore o uguale a $2500. Se la condizione è soddisfatta, la città e il relativo budget vengono aggiunti al dizionario affordable_destinations.

123456789101112
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
copy

Questo esempio ottiene lo stesso risultato del precedente, ma in modo più conciso ed elegante. La condizione if budget <= 2500 filtra le destinazioni in base al budget, e il dizionario risultante include solo le destinazioni accessibili.

Note
Nota

Se si tenta di decomporre solo due variabili (city e budget), Python non sarà in grado di elaborare correttamente ogni elemento della lista, poiché ogni sottolista contiene tre elementi (city, country e budget). Questo causerà un errore, poiché Python cercherà di assegnare tre elementi a due variabili.

Ecco come apparirebbe:

affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}

Questo codice genererà un ValueError: not enough values to unpack (expected 2, got 3), perché ogni elemento nella lista ha tre valori e si sta tentando di decomporre solo due.

Compito

Swipe to start coding

Un viaggiatore desidera filtrare la propria travel_wishlist per includere solo le destinazioni in Giappone. Per ottenere questo in modo efficiente, è necessario estrarre le coppie città-budget rilevanti in un dizionario.

  • Filtrare la travel_wishlist per includere solo le destinazioni in cui il paese è "Japan".
  • Salvare il dizionario risultante in japanese_destinations.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
single

single

some-alt