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
Johdanto Python-Ohjelmointiin

Pyyhkäise näyttääksesi valikon

book
Sisäkkäiset Listat

Sisäkkäinen lista Pythonissa on lista, joka sisältää muita alilistoja elementteinään. Tämä rakenne on erityisen hyödyllinen, kun halutaan ryhmitellä liittyviä kohteita päälistan sisällä, missä jokaisella alilistalla on usein yhteisiä ominaisuuksia tai suhteita.

Näiden alilistojen elementtien käsittelemiseksi käytetään indeksointia peräkkäin — eli valitsemme ensin päälistan indeksin ja sitten alilistan indeksin. Seuraava käytännön sovellus ja kaavio tarjoavat yksityiskohtaisen katsauksen siihen, kuinka voit luoda ja hallita sisäkkäisiä listoja tehokkaasti.

Esimerkkisovellus

Asiakas ruokakaupassasi on koonnut luettelon ruokatarvikkeista, jossa kunkin tuotteen tiedot on tallennettu alilistoihin muuttujanimien alle.

Autamme asiakasta pääsemään käsiksi tietoihin milk-alilistasta, lisäämään uuden tuotteen, poistamaan olemassa olevan tuotteen ja lajittelemaan koko grocery_list-listan.

Aloitetaan luomalla lista ensin ja edetään askel askeleelta:

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 kohde, kuten milk, apple ja bread, on itsessään lista, joka sisältää tietyn tuotteen tiedot.

Esimerkiksi, päästäksesi maidon hintaan, joka on tallennettu milk-alistaan, käytät syntaksia grocery_list[2][1]. Tässä grocery_list[2] valitsee milk-alilistan, ja grocery_list[2][1] menee askeleen pidemmälle päästäkseen kyseisen alilistan toiseen elementtiin — hintaan.

Tehtävä

Swipe to start coding

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

  • Luo muuttuja vegetables listalla ["tomatoes", "potatoes", "onions"].
  • Poista "onions" listalta.
  • Lisää "carrots" listalle, jos se ei ole jo siellä.
  • Lisää "cucumbers" listalle, jos se ei ole jo siellä.
  • Lajittele lista aakkosjärjestykseen.

Tulostusvaatimukset

  • Tulosta päivitetty vihannesvarasto: "Updated Vegetable Inventory: <$vegetables>".
  • Jos "carrots" on jo listalla, tulosta: "Carrots are already in the list."
  • Jos "cucumbers" on jo listalla, 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 on lista, joka sisältää muita alilistoja elementteinään. Tämä rakenne on erityisen hyödyllinen, kun halutaan ryhmitellä liittyviä kohteita päälistan sisällä, missä jokaisella alilistalla on usein yhteisiä ominaisuuksia tai suhteita.

Näiden alilistojen elementtien käsittelemiseksi käytetään indeksointia peräkkäin — eli valitsemme ensin päälistan indeksin ja sitten alilistan indeksin. Seuraava käytännön sovellus ja kaavio tarjoavat yksityiskohtaisen katsauksen siihen, kuinka voit luoda ja hallita sisäkkäisiä listoja tehokkaasti.

Esimerkkisovellus

Asiakas ruokakaupassasi on koonnut luettelon ruokatarvikkeista, jossa kunkin tuotteen tiedot on tallennettu alilistoihin muuttujanimien alle.

Autamme asiakasta pääsemään käsiksi tietoihin milk-alilistasta, lisäämään uuden tuotteen, poistamaan olemassa olevan tuotteen ja lajittelemaan koko grocery_list-listan.

Aloitetaan luomalla lista ensin ja edetään askel askeleelta:

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 kohde, kuten milk, apple ja bread, on itsessään lista, joka sisältää tietyn tuotteen tiedot.

Esimerkiksi, päästäksesi maidon hintaan, joka on tallennettu milk-alistaan, käytät syntaksia grocery_list[2][1]. Tässä grocery_list[2] valitsee milk-alilistan, ja grocery_list[2][1] menee askeleen pidemmälle päästäkseen kyseisen alilistan toiseen elementtiin — hintaan.

Tehtävä

Swipe to start coding

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

  • Luo muuttuja vegetables listalla ["tomatoes", "potatoes", "onions"].
  • Poista "onions" listalta.
  • Lisää "carrots" listalle, jos se ei ole jo siellä.
  • Lisää "cucumbers" listalle, jos se ei ole jo siellä.
  • Lajittele lista aakkosjärjestykseen.

Tulostusvaatimukset

  • Tulosta päivitetty vihannesvarasto: "Updated Vegetable Inventory: <$vegetables>".
  • Jos "carrots" on jo listalla, tulosta: "Carrots are already in the list."
  • Jos "cucumbers" on jo listalla, 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