Tunti 12 Toistorakenteet ja listat

Listat ja taulukot

Katso alkuun video listan käsittelystä, niin pääset paremmin jyvälle listoista. Alla olevissa esimerkkikoodeissa on käytetty kommentointia #merkin avulla. Se ei vaikuta koodin suorittamiseen, vaan kertoo ohjelman käyttäjälle sen mitä ohjelmassa tapahtuu.

Listojen yhteydessä tulee esille uusi termi, alkio, joka tarkoittaa sitä montako kappaletta tai jäsentä listassa on.
Esimerkiksi merkintä: lista = [1,3,5] tarkoittaa sitä, että listassa on kolme eri numeroa 1,3, ja 5, joita kutsutaan alkioiksi. Tässä listassa on siis kolme alkiota. Alkioille annetaan järjestysluku aina nollasta alkaen. Tässä siis nro 1 on nollas alkio, nro 3 on ensimmäinen alkio ja nro 5 on toinen alkio. Taulukko yleensä käsitetään listaksi, jonka sisällä voi olla listoja. Esimerkiksi sudoku on kaksiulotteinen lista(ruutuja vaakasuoraan ja pystysuoraan). Niitä ei näissä esimerkeissä ole. Usein kuitenkin puhekielessä listat ja taulukot menevät sekaisin. 

Alla on video listojen käsittelystä:



* Esimerkki 1.*
Listojen alkioihin voidaan viitata listan järjestysluvulla, joka alkaa nollasta. Huomaa mihin alkioon numero 3 viittaa.


<> Tehtävä 1.
Luo lista, jonka alkiot ovat 5, 76, 34, 8 ja 57. Tulosta listan toinen jäsen.


<> Tehtävä 2.
Luo lista, jossa on kymmenen alkiota. Tulosta kaikki parilliset alkiot.


<> Tehtävä 3.
Yhdistä alla olevat listat lista1 ja lista2 listaan lista3. Vinkki, pythonissa listoja voi laskea yhteen samalla tavalla kuin numeroita. 


<> Tehtävä 4. Luo lista, jossa on viisi alkiota. Lisää listaan viisi uutta alkiota append -komentoa käyttäen ja tulosta se.

Toistorakenteet ja silmukat

Ohjelmoinnissa joudutaan useasti silmukan avulla käymään läpi listoja ja taulukoita.

* Esimerkki 2.*
Vuoden kuukaudet tulostettuna print -komennon- ja for -silmukan avulla:


Jälkimmäinen tapa tulostaa vuoden kuukaudet for -silmukalla on selvästi vähemmän kirjoitusta vaativa toiminto ja tämän takia toistorakenteiden käyttö on erityisen yleistä ohjelmoinnissa.

* Esimerkki 3.* Pelkän listan tulostaminen. Print -komento tulostaa kuukaudet -listan sisällön.


<> Tehtävä 1. Luo lista viikonpäivistä ja tulosta se for -silmukan avulla.