Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ordbokforståelse med betingelse | Liste- og Ordbokforståelser
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Løkker Veiledning

bookOrdbokforståelse med betingelse

Du kan legge til en betingelse i en dictionary comprehension for å filtrere elementer dynamisk mens du oppretter ordboken. Syntaksen for en dictionary comprehension med 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 koden itererer gjennom listen travel_wishlist, og sjekker om budsjettet for hver destinasjon er mindre enn eller lik $2500. Hvis betingelsen er oppfylt, legges byen og budsjettet til i ordboken 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 eksempelet oppnår samme resultat som det forrige, men på en mer konsis og elegant måte. Betingelsen if budget <= 2500 filtrerer destinasjonene basert på budsjettet, og den resulterende ordboken inkluderer kun de rimelige destinasjonene.

Note
Merk

Hvis du prøver å pakke ut kun to variabler (city og budget), vil ikke Python kunne behandle hvert element i listen korrekt, fordi hver underliste inneholder tre elementer (city, country og budget). Dette vil føre til en feil, ettersom Python vil forsøke å tilordne tre elementer til to variabler.

Slik vil det se ut:

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

Denne koden vil gi en ValueError: not enough values to unpack (expected 2, got 3), fordi hvert element i listen har tre verdier, og du prøver å pakke ut kun to.

Oppgave

Swipe to start coding

En reisende ønsker å filtrere sin travel_wishlist for kun å inkludere destinasjoner i Japan. For å gjøre dette effektivt, må du hente ut relevante by-budsjett-par i en ordbok.

  • Filtrer travel_wishlist slik at kun destinasjoner hvor landet er "Japan" inkluderes.
  • Lagre den resulterende ordboken i japanese_destinations.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

bookOrdbokforståelse med betingelse

Sveip for å vise menyen

Du kan legge til en betingelse i en dictionary comprehension for å filtrere elementer dynamisk mens du oppretter ordboken. Syntaksen for en dictionary comprehension med 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 koden itererer gjennom listen travel_wishlist, og sjekker om budsjettet for hver destinasjon er mindre enn eller lik $2500. Hvis betingelsen er oppfylt, legges byen og budsjettet til i ordboken 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 eksempelet oppnår samme resultat som det forrige, men på en mer konsis og elegant måte. Betingelsen if budget <= 2500 filtrerer destinasjonene basert på budsjettet, og den resulterende ordboken inkluderer kun de rimelige destinasjonene.

Note
Merk

Hvis du prøver å pakke ut kun to variabler (city og budget), vil ikke Python kunne behandle hvert element i listen korrekt, fordi hver underliste inneholder tre elementer (city, country og budget). Dette vil føre til en feil, ettersom Python vil forsøke å tilordne tre elementer til to variabler.

Slik vil det se ut:

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

Denne koden vil gi en ValueError: not enough values to unpack (expected 2, got 3), fordi hvert element i listen har tre verdier, og du prøver å pakke ut kun to.

Oppgave

Swipe to start coding

En reisende ønsker å filtrere sin travel_wishlist for kun å inkludere destinasjoner i Japan. For å gjøre dette effektivt, må du hente ut relevante by-budsjett-par i en ordbok.

  • Filtrer travel_wishlist slik at kun destinasjoner hvor landet er "Japan" inkluderes.
  • Lagre den resulterende ordboken i japanese_destinations.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4
single

single

some-alt