Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Dictionary Comprehension med Betingelse | Liste- og Ordbogsforståelser
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Loops Tutorial

bookDictionary Comprehension med Betingelse

Du kan tilføje en betingelse i en ordbogsforståelse for dynamisk at filtrere elementer, mens ordbogen oprettes. Syntaksen for en ordbogsforståelse med en betingelse er:

{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

Denne kode gennemløber listen travel_wishlist og kontrollerer, om hver destinations budget er mindre end eller lig med $2500. Hvis betingelsen er opfyldt, tilføjes byen og dens budget til ordbogen 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

Dette eksempel opnår det samme resultat som det forrige, men på en mere kortfattet og elegant måde. Betingelsen if budget <= 2500 filtrerer destinationerne baseret på budgettet, og den resulterende ordbog indeholder kun de overkommelige destinationer.

Note
Bemærk

Hvis du forsøger at pakke kun to variabler ud (city og budget), vil Python ikke kunne behandle hvert element i listen korrekt, fordi hver underliste indeholder tre elementer (city, country og budget). Dette vil forårsage en fejl, da Python vil forsøge at tildele tre elementer til to variabler.

Sådan ville det se ud:

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

Denne kode vil udløse en ValueError: not enough values to unpack (expected 2, got 3), fordi hvert element i listen har tre værdier, og du forsøger at pakke kun to ud.

Opgave

Swipe to start coding

En rejsende ønsker at filtrere deres travel_wishlist for kun at inkludere destinationer i Japan. For at gøre dette effektivt skal du udtrække relevante by-budget-par til en ordbog.

  • Filtrer travel_wishlist så den kun indeholder destinationer, hvor landet er "Japan".
  • Gem den resulterende ordbog i japanese_destinations.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookDictionary Comprehension med Betingelse

Stryg for at vise menuen

Du kan tilføje en betingelse i en ordbogsforståelse for dynamisk at filtrere elementer, mens ordbogen oprettes. Syntaksen for en ordbogsforståelse med en betingelse er:

{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

Denne kode gennemløber listen travel_wishlist og kontrollerer, om hver destinations budget er mindre end eller lig med $2500. Hvis betingelsen er opfyldt, tilføjes byen og dens budget til ordbogen 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

Dette eksempel opnår det samme resultat som det forrige, men på en mere kortfattet og elegant måde. Betingelsen if budget <= 2500 filtrerer destinationerne baseret på budgettet, og den resulterende ordbog indeholder kun de overkommelige destinationer.

Note
Bemærk

Hvis du forsøger at pakke kun to variabler ud (city og budget), vil Python ikke kunne behandle hvert element i listen korrekt, fordi hver underliste indeholder tre elementer (city, country og budget). Dette vil forårsage en fejl, da Python vil forsøge at tildele tre elementer til to variabler.

Sådan ville det se ud:

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

Denne kode vil udløse en ValueError: not enough values to unpack (expected 2, got 3), fordi hvert element i listen har tre værdier, og du forsøger at pakke kun to ud.

Opgave

Swipe to start coding

En rejsende ønsker at filtrere deres travel_wishlist for kun at inkludere destinationer i Japan. For at gøre dette effektivt skal du udtrække relevante by-budget-par til en ordbog.

  • Filtrer travel_wishlist så den kun indeholder destinationer, hvor landet er "Japan".
  • Gem den resulterende ordbog i japanese_destinations.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

some-alt