Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Dictionary-Comprehensie met Voorwaarde | Sectie
Practice
Projects
Quizzes & Challenges
Quizzen
Challenges
/
Python-Lussen

bookDictionary-Comprehensie met Voorwaarde

Je kunt een voorwaarde toevoegen aan een dictionary comprehension om items dynamisch te filteren tijdens het aanmaken van de dictionary. De syntaxis voor een dictionary comprehension met een voorwaarde is:

{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

Deze code doorloopt de lijst travel_wishlist en controleert of het budget van elke bestemming minder dan of gelijk aan $2500 is. Als aan de voorwaarde wordt voldaan, worden de stad en het bijbehorende budget toegevoegd aan de dictionary 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

Dit voorbeeld bereikt hetzelfde resultaat als het vorige, maar op een meer beknopte en elegante manier. De voorwaarde if budget <= 2500 filtert de bestemmingen op basis van het budget, en het resulterende woordenboek bevat alleen de betaalbare bestemmingen.

Note
Opmerking

Als je probeert om slechts twee variabelen (city en budget) te ontpakken, kan Python elk element van de lijst niet correct verwerken, omdat elke sublijst drie elementen bevat (city, country en budget). Dit veroorzaakt een fout, omdat Python zal proberen drie elementen toe te wijzen aan twee variabelen.

Dit zou er als volgt uitzien:

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

Deze code zal een ValueError: not enough values to unpack (expected 2, got 3) genereren, omdat elk element in de lijst drie waarden heeft en je probeert er slechts twee te ontpakken.

Taak

Swipe to start coding

Een reiziger wil zijn travel_wishlist filteren om alleen bestemmingen in Japan op te nemen. Om dit efficiënt te doen, moet je relevante stad-budget-paren extraheren in een dictionary.

  • Filter de travel_wishlist zodat alleen bestemmingen waar het land "Japan" is, worden opgenomen.
  • Sla het resulterende woordenboek op in japanese_destinations.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 20
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

bookDictionary-Comprehensie met Voorwaarde

Veeg om het menu te tonen

Je kunt een voorwaarde toevoegen aan een dictionary comprehension om items dynamisch te filteren tijdens het aanmaken van de dictionary. De syntaxis voor een dictionary comprehension met een voorwaarde is:

{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

Deze code doorloopt de lijst travel_wishlist en controleert of het budget van elke bestemming minder dan of gelijk aan $2500 is. Als aan de voorwaarde wordt voldaan, worden de stad en het bijbehorende budget toegevoegd aan de dictionary 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

Dit voorbeeld bereikt hetzelfde resultaat als het vorige, maar op een meer beknopte en elegante manier. De voorwaarde if budget <= 2500 filtert de bestemmingen op basis van het budget, en het resulterende woordenboek bevat alleen de betaalbare bestemmingen.

Note
Opmerking

Als je probeert om slechts twee variabelen (city en budget) te ontpakken, kan Python elk element van de lijst niet correct verwerken, omdat elke sublijst drie elementen bevat (city, country en budget). Dit veroorzaakt een fout, omdat Python zal proberen drie elementen toe te wijzen aan twee variabelen.

Dit zou er als volgt uitzien:

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

Deze code zal een ValueError: not enough values to unpack (expected 2, got 3) genereren, omdat elk element in de lijst drie waarden heeft en je probeert er slechts twee te ontpakken.

Taak

Swipe to start coding

Een reiziger wil zijn travel_wishlist filteren om alleen bestemmingen in Japan op te nemen. Om dit efficiënt te doen, moet je relevante stad-budget-paren extraheren in een dictionary.

  • Filter de travel_wishlist zodat alleen bestemmingen waar het land "Japan" is, worden opgenomen.
  • Sla het resulterende woordenboek op in japanese_destinations.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 20
single

single

some-alt