Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sanakirjan Ymmärtäminen Ehdolla | Listojen ja Sanakirjojen Ymmärrykset
Python-Silmukoiden Opas

book
Sanakirjan Ymmärtäminen Ehdolla

Voit lisätä ehdon sanakirjan ymmärrykseen suodattaaksesi kohteita dynaamisesti sanakirjaa luodessasi. Sanakirjan ymmärryksen syntaksi ehdolla on:

python
{key_expression: value_expression for item in iterable if condition}
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)
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 tarkistaen, onko kunkin kohteen budjetti enintään $2500. Jos ehto täyttyy, kaupunki ja sen budjetti lisätään affordable_destinations-sanakirjaan.

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}
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 tuloksen 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.

Tehtävä

Swipe to start coding

Matkailija haluaa suodattaa travel_wishlist-listansa sisältämään vain kohteet Japanissa. Tämän saavuttamiseksi tehokkaasti sinun tulee poimia asiaankuuluvat kaupunki-budjetti-parit sanakirjaan.

  • Suodata travel_wishlist sisältämään vain kohteet, joissa maa on "Japan".
  • Tallenna tuloksena oleva sanakirja muuttujaan japan_destinations.

Ratkaisu

# Given travel wishlist
travel_wishlist = [['Paris', 'France', 2000],['Tokyo', 'Japan', 3000],['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],['Rome', 'Italy', 2200],['Sydney', 'Australia', 2800],
['Barcelona', 'Spain', 1900],['London', 'UK', 2600],['Berlin', 'Germany', 2100],
['Dubai', 'UAE', 3500],['Bangkok', 'Thailand', 1800],['Singapore', 'Singapore', 2900],
['Los Angeles', 'USA', 2700],['Cape Town', 'South Africa', 2300],['Venice', 'Italy', 2000],
['Istanbul', 'Turkey', 1750],['Toronto', 'Canada', 2250],['Rio de Janeiro', 'Brazil', 1950],
['Athens', 'Greece', 1850]]

# Filter destinations in Japan using dictionary comprehension
japanese_destinations = {city: budget for city, country, budget in travel_wishlist if country == "Japan"}

# Testing
print('Japanese Destinations:', japanese_destinations)
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
# Given travel wishlist
travel_wishlist = [['Paris', 'France', 2000],['Tokyo', 'Japan', 3000],['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],['Rome', 'Italy', 2200],['Sydney', 'Australia', 2800],
['Barcelona', 'Spain', 1900],['London', 'UK', 2600],['Berlin', 'Germany', 2100],
['Dubai', 'UAE', 3500],['Bangkok', 'Thailand', 1800],['Singapore', 'Singapore', 2900],
['Los Angeles', 'USA', 2700],['Cape Town', 'South Africa', 2300],['Venice', 'Italy', 2000],
['Istanbul', 'Turkey', 1750],['Toronto', 'Canada', 2250],['Rio de Janeiro', 'Brazil', 1950],
['Athens', 'Greece', 1850]]

# Filter destinations in Japan using dictionary comprehension
japanese_destinations = {}

# Testing
print('Japanese Destinations:', japanese_destinations)
toggle bottom row
We use cookies to make your experience better!
some-alt