Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Woordenboekbegrip met Voorwaarde | Lijst- en Woordenboekbegrip
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Lussen Tutorial

bookWoordenboekbegrip met Voorwaarde

U kunt een voorwaarde toevoegen aan een dictionary-comprehensie om items dynamisch te filteren tijdens het aanmaken van de dictionary. De syntaxis voor een dictionary-comprehensie 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 ziet er als volgt uit:

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) veroorzaken, 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 filteren in zijn travel_wishlist om alleen bestemmingen in Japan op te nemen. Om dit efficiënt te doen, moet je relevante stad-budgetparen extraheren in een dictionary.

  • Filter de travel_wishlist zodat alleen bestemmingen waarbij 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 4. Hoofdstuk 4
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

bookWoordenboekbegrip met Voorwaarde

Veeg om het menu te tonen

U kunt een voorwaarde toevoegen aan een dictionary-comprehensie om items dynamisch te filteren tijdens het aanmaken van de dictionary. De syntaxis voor een dictionary-comprehensie 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 ziet er als volgt uit:

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) veroorzaken, 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 filteren in zijn travel_wishlist om alleen bestemmingen in Japan op te nemen. Om dit efficiënt te doen, moet je relevante stad-budgetparen extraheren in een dictionary.

  • Filter de travel_wishlist zodat alleen bestemmingen waarbij 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 4. Hoofdstuk 4
single

single

some-alt