Listat
- Lista ja sen käsitteet
- Listan arvojen tulostus
- Listan muokkaaminen
- Alkion lisääminen ja poistaminen
- Suurimman ja pienimmän alkion etsiminen
- Alkion järjestysluvun etsiminen
- Tietyn Alkion arvon esiintymiskertojen laskeminen
- Alkioiden kappalemäärän laskeminen
- Alkioiden summan laskeminen
Lista ja sen käsitteet
Lista on kätevä tapa pitää kirjanpitoa eri asioista. Listassa olevat asiat määritellään hakasulkujen sisälle [] pilkulla erottaen. Ensimmäinen “asia” on alkio 0. Huom! numerointi alkaa nollasta! Listoissa voi olla lukuja tai sanoja. Listat nimetään ,kuten muuttuja, seuraavien esimerkkien mukaisesti.
esimerkkilista1 = [“alkio 0”, “alkio 1”, “alkio 3”] # Tässä on lista nimeltään esimerkkilista ja siinä on kolme alkiota: alkio 0, alkio 1, alkio 3.
esimerkkilista2 = [ 5, 7,10] # Tässä on lista nimeltään esimerkkilista ja siinä on kolme alkiota: 5, 7, 10.
Listan arvojen tulostus
Listat voidaan tulostaa kokonaisuudessaan tai halutut alkiot kerrallaan.
print(esimerkkilista1) # Tulostaa koko listan sisällön.
print(esimerkkilista1[2]) # Tulostaa valitun olion, tässä tapauksessa sanan “alkio 2”.
print(esimerkkilista2[2]) # Tulostaa valitun olion, tässä tapauksessa luvun 10.
Listan alkioiden tulostaminen eri riveille tapahtuu käskyllä for suraavasti:
for i in esimerkkilista1:
print(i) # oltava sisennettynä
Tehtävä 1.
Muodosta kolme erillistä listaa: numerolista, poikalista ja tyttölista. Tulosta tämän jälkeen listat sekä jokaiselta listalta kolmas alkio.
n = [] # Anna listalle viisi numeroarvoa
t = [] # Anna listalle viisi pojan nimeä
p = [] # Anna listalle viisi tytön nimeä
Älä pyyhi koodia. Tehtävässä 2 jatketaan samaa koodia.
Listan muokkaaminen
Järjestäminen
sort() # järjestää listan alkiot numero- tai aakkos järjestykseen pienimmästä suurimpaan.
Huom! Jotta ohjelma tietää mikä lista järjestetään on listan nimi laitettava käskyn eteen.
esimerkkilista2.sort() # Järjestää esimerkkilistan2 arvot uudelleen.
Tehtävä 2.
Järjestä tehtävän 1 listat ja tulosta ne.
Älä pyyhi koodia. Tehtävässä 3 jatketaan samaa koodia.
Kääntäminen
Alkioiden kääntäminen käänteiseen järjestykseen saadaan käskyllä reverse().
esimerkkilista1.reverse() # Järjestää listan alkiot uudelleen käänteiseen järjestykseen.
Alkion lisääminen ja poistaminen
Listan viimeiseksi alkioksi uusi asia lisätään käskyllä:
append() # sulkeisiin tulee lisättävän alkion “asia”.
esimerkkilista2.append(“koira”) # Lisää esimerkkilistaan 2viimeiseksi alkioksi sanan koira.
Alkion poistaminen listasta tapahtuu käskyllä:
remove() # sulkeisiin tulee poistettava alkion “asia”
esimerkkilista2.remove(“koira”) # Poistaa esimerkkilistasta2 alkion koira.
Tehtävä 3.
Käännä numerolista menemään suurimmasta pienimpään ja lisää poikalistaan toinen mini, joka esiintyy jo listassa sekä poista tyttölistasta yksi henkilö.
Älä pyyhi koodia. Tehtävässä 4 jatketaan samaa koodia.
Suurimman ja pienimmän alkion etsiminen
Käsky max() etsii listasta suurimman alkion ja min() pienimmän.
print(max(esimerkkilista2)) # Tulostaa esimerkkilistan2 suurimman luvun. Huom! kaikkien alkioiden pitää tällöin olla lukuja.
d = max(esimerkkilista2) # Tallentaa muuttujalle d esimerkkilistan 2 suurimman arvon.
print(min(esimerkkilista2)) # Tulostaa esimerkkilistan2 suurimman luvun. Huom! kaikkien alkioiden pitää tällöin olla lukuja.
e = min(esimerkkilista2) # Tallentaa muuttujalle e esimerkkilistan 2 pienimmän arvon.
Tehtävä 4.
Tallenna numerolistasta suurin arvo muuttujaksi maxn ja pienin arvo minn. Tulosta kyseiset arvot.
Älä pyyhi koodia. Tehtävässä 5 jatketaan samaa koodia.
Alkion järjestysluvun etsiminen
Alkion esiintymiskertojen laskeminen
Älä pyyhi koodia. Tehtävässä 6 jatketaan samaa koodia.
Listan alkioiden määrän laskeminen
Käsky len() laskee kuinka monta alkiota listassa on.
len(esimerkkilista1) # Laskee alkioiden määrän esimerkkilistassa 1.
b = len(esimerkkilista1) # Tallentaa muuttujaksi b esimerkkilistassa olevien alkioiden lukumäärän.
print(len(esimerkkilista1)) # Tulostaa esimerkkilistan 1 alkioiden lukumäärän.
Listan alkioiden summa
Käskyllä sum() voidaan laskea listan alkioiden summa.
sum(esimerkkilista2) # laskee esimerkkilistan 2 arvot yhteen.
a = sum(esimerkkilista2) # tallentaa muuttujaksi a esimerkkilistan 2 yhteenlasketun arvon.
print(sum(esimerkkilista2)) # Tulostaa esimerkkilistan 2 arvojen summan.
Tehtävä 6
Laske ja tulosta tyttöjen ja poikien määrä sekä tulosta numerolistan numeroiden yhteenlaskettu summa.
Älä pyyhi koodia. Tehtävässä 6 jatketaan samaa koodia.
Tehtävä 7
- Määritä edellisen tehtävän kaikki rivit kommentoinneiksi pistämällä risuaita # koodin eteen.
- Tee uusi lista koenumerot, johon ei laiteta aluksi yhtään alkiota.
- Ohjelmoi ohjelma kysymään käyttäjältä, lisätäänkö uusi koe k/e.
- Jos käyttäjä vastaa k, niin ohjelma kysyy numeron ja lisää sen listaan. Jatka kysymistä, kunnes käyttäjä vastaa ei (while-käsky).
- Jos käyttäjä vastaa e, niin ohjelma tulostaa listan (if, elif, else-käskyt).
- Jos käyttäjä vastaa muuta kuin e tai k tulostaa tekstin “jokin meni väärin” (if, elif, else-käskyt).
Esimerkkikoodi (turhan monivaiheinen)
Python-ohjeita matematiikkaan.