Listojen Ymmärtäminen
List comprehensionit ovat tehokas tapa luoda uusia listoja yhdistämällä silmukoita ja valinnaisia ehtoja yhdeksi tiiviiksi lausekkeeksi. Ne tarjoavat Pythonille ominaisemman tavan suorittaa operaatioita listoilla, mikä tekee koodistasi siistimpää ja helpompaa lukea.
Aloitetaan yksinkertaisella esimerkillä. Sinulla on travel_wishlist
, joka sisältää kaupunkeja, joissa haluat vierailla, ja jokainen kaupunki on esitetty sisäkkäisenä listana, jossa on sen nimi, maa ja matkan kustannukset.
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] city_names = [] # New empty list for city in travel_wishlist: city_names.append(city[0]) print(city_names)
Tässä list comprehension tekee saman työn yhdellä rivillä, mikä tekee siitä tiiviin ja luettavan.
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] city_names = [city[0] for city in travel_wishlist] print(city_names)
travel_wishlist
on lista listoja, jossa kukin sisempi lista sisältää kaupungin nimen, maan ja arvioidun budjetin matkalle;Koodi
[city[0] for city in travel_wishlist]
luo uuden listan poimimalla ensimmäisen elementin (city[0]
, kaupungin nimi) kustakin sisemmästä listastatravel_wishlist
-listassa.
Swipe to start coding
Hallitset travel_wishlist
-listaa, jossa jokainen kohde on esitetty listana, joka sisältää useita tietoja. Tavoitteenasi on poimia vain matkakustannukset kustakin kohteesta ja tallentaa ne erikseen.
- Käy läpi toivelista, pääset käsiksi kunkin kohteen tietoihin.
- Poimi matkakustannus, joka on kolmas elementti kunkin kohteen listassa.
- Tallenna poimitut kustannukset uuteen listaan nimeltä
trip_costs
.
Ratkaisu
Kiitos palautteestasi!