Woordenboekbegrip 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}
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)
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.
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}
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.
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.
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_wishlistzodat alleen bestemmingen waarbij het land"Japan"is, worden opgenomen. - Sla het resulterende woordenboek op in
japanese_destinations.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 5
Woordenboekbegrip 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}
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)
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.
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}
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.
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.
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_wishlistzodat alleen bestemmingen waarbij het land"Japan"is, worden opgenomen. - Sla het resulterende woordenboek op in
japanese_destinations.
Oplossing
Bedankt voor je feedback!
single