Sanakirjan Käsittäminen Ehdolla
Sanakirjalle voidaan lisätä ehto sanakirjakehitelmässä, jolloin kohteita suodatetaan dynaamisesti sanakirjaa luotaessa. Sanakirjakehitelmän syntaksi ehdolla on:
{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)
Tämä koodi käy läpi travel_wishlist-listan ja tarkistaa, onko jokaisen kohteen budjetti enintään $2500. Jos ehto täyttyy, kaupunki ja sen budjetti lisätään affordable_destinations-sanakirjaan.
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}
Tämä esimerkki saavuttaa saman lopputuloksen kuin edellinen, mutta tiiviimmällä ja elegantimmalla tavalla. Ehto if budget <= 2500 suodattaa kohteet budjetin perusteella, ja tuloksena oleva sanakirja sisältää vain edulliset kohteet.
Jos yrität purkaa vain kaksi muuttujaa (city ja budget), Python ei pysty käsittelemään listan jokaista alkiota oikein, koska jokainen alilista sisältää kolme alkiota (city, country ja budget). Tämä aiheuttaa virheen, sillä Python yrittää sijoittaa kolme arvoa kahteen muuttujaan.
Tältä se näyttäisi:
affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}
Tämä koodi aiheuttaa ValueError: not enough values to unpack (expected 2, got 3) -virheen, koska jokaisessa listan alkiolla on kolme arvoa, mutta yrität purkaa vain kaksi.
Swipe to start coding
Matkailija haluaa suodattaa travel_wishlist-listansa niin, että siihen jäävät vain kohteet Japanissa. Tämän saavuttamiseksi tehokkaasti, sinun tulee poimia olennaiset kaupunki-budjetti-parit sanakirjaan.
- Suodata
travel_wishlistniin, että mukaan otetaan vain kohteet, joiden maa on"Japan". - Tallenna tuloksena syntyvä sanakirja muuttujaan
japanese_destinations.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 5
Sanakirjan Käsittäminen Ehdolla
Pyyhkäise näyttääksesi valikon
Sanakirjalle voidaan lisätä ehto sanakirjakehitelmässä, jolloin kohteita suodatetaan dynaamisesti sanakirjaa luotaessa. Sanakirjakehitelmän syntaksi ehdolla on:
{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)
Tämä koodi käy läpi travel_wishlist-listan ja tarkistaa, onko jokaisen kohteen budjetti enintään $2500. Jos ehto täyttyy, kaupunki ja sen budjetti lisätään affordable_destinations-sanakirjaan.
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}
Tämä esimerkki saavuttaa saman lopputuloksen kuin edellinen, mutta tiiviimmällä ja elegantimmalla tavalla. Ehto if budget <= 2500 suodattaa kohteet budjetin perusteella, ja tuloksena oleva sanakirja sisältää vain edulliset kohteet.
Jos yrität purkaa vain kaksi muuttujaa (city ja budget), Python ei pysty käsittelemään listan jokaista alkiota oikein, koska jokainen alilista sisältää kolme alkiota (city, country ja budget). Tämä aiheuttaa virheen, sillä Python yrittää sijoittaa kolme arvoa kahteen muuttujaan.
Tältä se näyttäisi:
affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}
Tämä koodi aiheuttaa ValueError: not enough values to unpack (expected 2, got 3) -virheen, koska jokaisessa listan alkiolla on kolme arvoa, mutta yrität purkaa vain kaksi.
Swipe to start coding
Matkailija haluaa suodattaa travel_wishlist-listansa niin, että siihen jäävät vain kohteet Japanissa. Tämän saavuttamiseksi tehokkaasti, sinun tulee poimia olennaiset kaupunki-budjetti-parit sanakirjaan.
- Suodata
travel_wishlistniin, että mukaan otetaan vain kohteet, joiden maa on"Japan". - Tallenna tuloksena syntyvä sanakirja muuttujaan
japanese_destinations.
Ratkaisu
Kiitos palautteestasi!
single