Mäletate, rääkisime kunagi andmetüüpidest. Vaatasime lähemalt arvulisi - integer ja float tüüpi ning sõnesid (string). Kui tahtsime mingit tüüpi andmeid mälus hoida, siis võtsime appi muutuja, millele omistasime "mingi asja". Kuid elus on palju selliseid olukordi, kus on vaja hoida ühes muutujas mitmeid elemente, näiteks
- nimekirja tegelase omadustest,
- kuude või nädalapäevade loetelu,
- sõprade nimekiri jne
Väga tüütu oleks kõiki neid mingi ühise tunnusega kokku kuuluvaid andmeid üksikult muutujates hoida. Sellepärast on programmeerimises kasutusel listid. List on praeguseks neljas andmetüüp, mida vaatame. Listidega puutusime juba natuke kokku for-tsükli uurimisel, kuid selles peatükis räägime neist veidi täpsemalt - vaatame kuidas liste luuakse, kuidas neid muudetakse ja kasutatakse.
Mis on list?
List on grupp või kollektsioon kokku kuuluvatest, ühist nimetust omavatest andmetest. Andmed ühes listis võivad olla mistahes tüüpi - tekstid, arvud, isegi teised listid. Tavaliselt aga üritatakse ühes listis hoida ühte tüüpi andmeid. Näiteks nimekiri toiduainetest või kogunenud aaretest.
Kuidas listi luuakse?
Nagu kõikide andmetüüpide korral Pythonis, võetakse kõigepealt kasutusele uus muutuja, millele omistatakse uue andmetüübi sisu. Arvude korral tuli võrdusmärgi taha kirjutada lihtsalt arv või komaga arv, sõne moodustamiseks pidi väärtusele ümber panema jutumärgid. Listi korral aga tuleb andmete loetelu panna kandilistesse sulgudesse.


Nii saab luua juba nö valmis ehk täis listi, kuid võib alguses luua ka täiesti tühja listi ja siis hakata sinna elemente juurde lisama. Elemente saab juurde lisada tegelikult mistahes listidesse, nii tühjadesse või juba nö valmis listidesse, kuid meeles tuleb pidada seda, et lisatakse alati listi kõige lõppu viimasele kohale.
Järgmine pilt illustreerib, kuidas kõigepealt luuakse tühi list (tühjad nurksulud). Siis lisatakse listi käsu .append() abil listi uus element. Ning kui nüüd list välja trükkida, siis näeme, et listi on lisandunud üks liige. NB! listi sees ei kao erinevad andmetüübid mitte kusagile. Kui listis tahetakse hoida sõnesid, siis tuleb neile jutumärgid ümber panna ja kui listis tahetakse hoida teisi liste, siis tuleb selle määramiseks kõikidele listi elementidele panna omakorda nurksulud ümber. Ava käsurea keskkond ja tee järgmine näide läbi ja kindlasti rakenda seal juures ka oma fantaasiat ning vaata, kuidas Python sellele reageerib:



Pea meeles, et kui listi hakata midagi lisama, peab sul enne list defineeritud olema, nagu on seda tehtud ülemisel pildil. Analoogia võid leida näiteks koogitegemisest, ei saa ju lihtsalt kõik koogitaigna jaoks vajalikud ained kokku valada, enne kui sa pole kapist välja võtnud kaussi, kuhu taigent panna!!!
