Ordbokforståelse med Betingelse
Du kan legge til en betingelse i en ordbokskomprehensjon for å filtrere elementer dynamisk mens du oppretter ordboken. Syntaksen for en ordbokskomprehensjon med en betingelse er:
python
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)
Denne koden itererer gjennom travel_wishlist
-listen, og sjekker om budsjettet for hver destinasjon er mindre enn eller lik $2500. Hvis betingelsen er oppfylt, legges byen og budsjettet til i affordable_destinations
-ordboken.
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}
Dette eksempelet oppnår det samme resultatet 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.
Swipe to start coding
En reisende ønsker å filtrere sin travel_wishlist
for å inkludere kun destinasjoner i Japan. For å oppnå dette effektivt, må du trekke ut relevante by-budsjett par til en ordbok.
- Filtrer
travel_wishlist
for å inkludere kun destinasjoner der landet er"Japan"
. - Lagre den resulterende ordboken i
japan_destinations
.
Løsning
Takk for tilbakemeldingene dine!