Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sanakirjan Käsittäminen Ehdolla | Listojen ja Sanakirjojen Ymmärrykset
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python-Silmukoiden Opas

bookSanakirjan Käsittäminen Ehdolla

Sanakirjalle voidaan lisätä ehto sanakirjakehitelmässä, jolloin kohteet suodatetaan dynaamisesti sanakirjaa luotaessa. Sanakirjakehitelmän syntaksi ehdolla on:

{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

Tämä koodi käy läpi travel_wishlist-listan ja tarkistaa, onko jokaisen kohteen budjetti enintään 2500 dollaria. Jos ehto täyttyy, kaupunki ja sen budjetti lisätään affordable_destinations-sanakirjaan.

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

Tämä esimerkki saavuttaa saman lopputuloksen kuin edellinen, mutta tiiviimmin ja tyylikkäämmin. Ehto if budget <= 2500 suodattaa kohteet budjetin perusteella, ja tuloksena oleva sanakirja sisältää vain edulliset kohteet.

Note
Huomio

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 elementtiä (kaupunki, maa ja budjetti). Tämä aiheuttaa virheen, koska 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.

Tehtävä

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 asiaankuuluvat kaupunki-budjetti-parit sanakirjaan.

  • Suodata travel_wishlist niin, että mukaan otetaan vain kohteet, joissa maa on "Japan".
  • Tallenna tuloksena syntyvä sanakirja muuttujaan japanese_destinations.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

bookSanakirjan Käsittäminen Ehdolla

Pyyhkäise näyttääksesi valikon

Sanakirjalle voidaan lisätä ehto sanakirjakehitelmässä, jolloin kohteet suodatetaan dynaamisesti sanakirjaa luotaessa. Sanakirjakehitelmän syntaksi ehdolla on:

{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

Tämä koodi käy läpi travel_wishlist-listan ja tarkistaa, onko jokaisen kohteen budjetti enintään 2500 dollaria. Jos ehto täyttyy, kaupunki ja sen budjetti lisätään affordable_destinations-sanakirjaan.

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

Tämä esimerkki saavuttaa saman lopputuloksen kuin edellinen, mutta tiiviimmin ja tyylikkäämmin. Ehto if budget <= 2500 suodattaa kohteet budjetin perusteella, ja tuloksena oleva sanakirja sisältää vain edulliset kohteet.

Note
Huomio

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 elementtiä (kaupunki, maa ja budjetti). Tämä aiheuttaa virheen, koska 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.

Tehtävä

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 asiaankuuluvat kaupunki-budjetti-parit sanakirjaan.

  • Suodata travel_wishlist niin, että mukaan otetaan vain kohteet, joissa maa on "Japan".
  • Tallenna tuloksena syntyvä sanakirja muuttujaan japanese_destinations.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
single

single

some-alt