Comprensione 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}
12345678910111213141516travel_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)
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.
123456789101112travel_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}
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.
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.
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_wishlistper includere solo le destinazioni in cui il paese è"Japan". - Salvare il dizionario risultante in
japanese_destinations.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 5
Comprensione 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}
12345678910111213141516travel_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)
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.
123456789101112travel_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}
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.
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.
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_wishlistper includere solo le destinazioni in cui il paese è"Japan". - Salvare il dizionario risultante in
japanese_destinations.
Soluzione
Grazie per i tuoi commenti!
single