Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sisäkkäiset Listat | Muut Tietotyypit
Johdatus Pythoniin

Pyyhkäise näyttääksesi valikon

book
Sisäkkäiset Listat

Sisäkkäinen lista Pythonissa tarkoittaa listaa, jonka alkioina on muita alilistoja. Tämä rakenne on erityisen hyödyllinen, kun halutaan ryhmitellä toisiinsa liittyviä alkioita päälistan sisällä, jolloin jokaisella alilistalla on usein yhteisiä ominaisuuksia tai suhteita.

Alilistojen alkioihin pääsee käsiksi käyttämällä indeksointia peräkkäin — eli ensin valitaan päälistan indeksi ja sen jälkeen alilistan indeksi. Seuraava käytännön esimerkki ja kaavio havainnollistavat, kuinka sisäkkäisiä listoja voidaan luoda ja hallita tehokkaasti.

Esimerkkisovellus

Asiakas ruokakaupassasi on koonnut listan elintarvikkeista, jossa jokaisen tuotteen tiedot on tallennettu alilistoihin muuttujien alle.

Autamme asiakasta hakemaan tietoja milk-alilistasta, lisäämään uuden tuotteen, poistamaan olemassa olevan tuotteen sekä lajittelemaan koko grocery_list-listan.

Aloitetaan ensin listan luomisella ja edetään vaiheittain:

12345678910111213141516171819202122232425
# Define individual grocery items as lists containing details bread = ["Bread", 4.80, 3, "Gluten Free"] # Item name, price, quantity, type milk = ["Milk", 5.99, 2, "2% Milk"] # Item name, price, quantity, type apple = ["Apple", 1.27, 12, "Fuji"] # Item name, price, quantity, type # Create the main grocery list that contains these items grocery_list = [bread, apple, milk] print("Grocery List:" , grocery_list) # Accessing and printing specific item details using indexing print("Item:", grocery_list[2][0]) # Accesses "Milk" title print("Price:", grocery_list[2][1]) # Accesses price of a Milk, which is 5.99 print("Quantity:", grocery_list[2][2]) # Accesses quantity of Milk, which is 2 print("Type:", grocery_list[2][3]) # Accesses type of Milk, which is "2% Milk" # Adding a new sublist item to the grocery list onion = ["Onions", 1.30, 10, "Yellow"] grocery_list.append(onion) # Removing an item from the grocery list grocery_list.remove(bread) # Sorting the grocery list alphabetically grocery_list.sort() print("Updated Grocery List:", grocery_list)
copy

Alla oleva kaavio havainnollistaa grocery_list-listan sisäkkäistä rakennetta. Jokainen listan alkio, kuten milk, apple ja bread, on itsessään lista, joka sisältää yksittäisen tuotteen tiedot.

Esimerkiksi maidon hinnan hakemiseen, joka on tallennettu milk-alilistaan, käytetään syntaksia grocery_list[2][1]. Tässä grocery_list[2] valitsee milk-alilistan ja grocery_list[2][1] hakee kyseisen alilistan toisen alkion — hinnan.

Tehtävä

Swipe to start coding

Päivitä ruokakaupan vihannesosaston varastolista poistamalla yksi tuote, lisäämällä kaksi uutta tuotetta ja lajittele lista aakkosjärjestykseen ilman päällekkäisyyksiä.

  • Luo muuttuja vegetables, jonka arvona on lista ["tomatoes", "potatoes", "onions"].
  • Poista "onions" listasta.
  • Lisää "carrots" listaan, jos sitä ei vielä ole.
  • Lisää "cucumbers" listaan, jos sitä ei vielä ole.
  • Lajittele lista aakkosjärjestykseen.

Tulostusvaatimukset

  • Tulosta päivitetty vihanneslista: "Updated Vegetable Inventory: <$vegetables>".
  • Jos "carrots" on jo listassa, tulosta: "Carrots are already in the list."
  • Jos "cucumbers" on jo listassa, tulosta: "Cucumbers are already in the list."

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 2
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

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

book
Sisäkkäiset Listat

Sisäkkäinen lista Pythonissa tarkoittaa listaa, jonka alkioina on muita alilistoja. Tämä rakenne on erityisen hyödyllinen, kun halutaan ryhmitellä toisiinsa liittyviä alkioita päälistan sisällä, jolloin jokaisella alilistalla on usein yhteisiä ominaisuuksia tai suhteita.

Alilistojen alkioihin pääsee käsiksi käyttämällä indeksointia peräkkäin — eli ensin valitaan päälistan indeksi ja sen jälkeen alilistan indeksi. Seuraava käytännön esimerkki ja kaavio havainnollistavat, kuinka sisäkkäisiä listoja voidaan luoda ja hallita tehokkaasti.

Esimerkkisovellus

Asiakas ruokakaupassasi on koonnut listan elintarvikkeista, jossa jokaisen tuotteen tiedot on tallennettu alilistoihin muuttujien alle.

Autamme asiakasta hakemaan tietoja milk-alilistasta, lisäämään uuden tuotteen, poistamaan olemassa olevan tuotteen sekä lajittelemaan koko grocery_list-listan.

Aloitetaan ensin listan luomisella ja edetään vaiheittain:

12345678910111213141516171819202122232425
# Define individual grocery items as lists containing details bread = ["Bread", 4.80, 3, "Gluten Free"] # Item name, price, quantity, type milk = ["Milk", 5.99, 2, "2% Milk"] # Item name, price, quantity, type apple = ["Apple", 1.27, 12, "Fuji"] # Item name, price, quantity, type # Create the main grocery list that contains these items grocery_list = [bread, apple, milk] print("Grocery List:" , grocery_list) # Accessing and printing specific item details using indexing print("Item:", grocery_list[2][0]) # Accesses "Milk" title print("Price:", grocery_list[2][1]) # Accesses price of a Milk, which is 5.99 print("Quantity:", grocery_list[2][2]) # Accesses quantity of Milk, which is 2 print("Type:", grocery_list[2][3]) # Accesses type of Milk, which is "2% Milk" # Adding a new sublist item to the grocery list onion = ["Onions", 1.30, 10, "Yellow"] grocery_list.append(onion) # Removing an item from the grocery list grocery_list.remove(bread) # Sorting the grocery list alphabetically grocery_list.sort() print("Updated Grocery List:", grocery_list)
copy

Alla oleva kaavio havainnollistaa grocery_list-listan sisäkkäistä rakennetta. Jokainen listan alkio, kuten milk, apple ja bread, on itsessään lista, joka sisältää yksittäisen tuotteen tiedot.

Esimerkiksi maidon hinnan hakemiseen, joka on tallennettu milk-alilistaan, käytetään syntaksia grocery_list[2][1]. Tässä grocery_list[2] valitsee milk-alilistan ja grocery_list[2][1] hakee kyseisen alilistan toisen alkion — hinnan.

Tehtävä

Swipe to start coding

Päivitä ruokakaupan vihannesosaston varastolista poistamalla yksi tuote, lisäämällä kaksi uutta tuotetta ja lajittele lista aakkosjärjestykseen ilman päällekkäisyyksiä.

  • Luo muuttuja vegetables, jonka arvona on lista ["tomatoes", "potatoes", "onions"].
  • Poista "onions" listasta.
  • Lisää "carrots" listaan, jos sitä ei vielä ole.
  • Lisää "cucumbers" listaan, jos sitä ei vielä ole.
  • Lajittele lista aakkosjärjestykseen.

Tulostusvaatimukset

  • Tulosta päivitetty vihanneslista: "Updated Vegetable Inventory: <$vegetables>".
  • Jos "carrots" on jo listassa, tulosta: "Carrots are already in the list."
  • Jos "cucumbers" on jo listassa, tulosta: "Cucumbers are already in the list."

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 2
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt