Listat

Sisältää
tehtäviä!

Listat (tai taulukot) ovat yleinen ohjelmoinnin apuväline. Listaan voidaan tallentaan mitä tahansa tietoa tai jopa toisia listoja. Yleensä ohjelmointikieli tarjoaa tehokkaat tavat hakea, järjestää ja muokata listoista.

Lista tehdään antamalla listan nimi ja sijoittamalla hakasulkeisiin listan alkiot pilkuilla erotettuna:

Tässä listaan on tallennettu nimiä, mutta listan alkioina voisi olla lukuja tai muita muuttujatyyppejä.

Listan ensimmäinen alkio on aina indeksiltään 0 ja siihen viitataan listan nimellä ja laittamalla indeksinumero hakasulkeisiin:

tai jos halutaan suoraan tulostaa alkio, niin: Muut alkiot voidaan tulostaa vastaavasti viittaamalla niiden indeksiin:


minunLista = ["Matti", "Pekka", "Marja", "Tuija"]

print(minunLista[1])
print(minunLista[2])
print(minunLista[3])

Listojen käsittelyä

Tehdään seuraavaksi funktio, mikä poistaa listasta alkion. Tämä tehdään del-käskyllä, mikä tarvitsee vielä listan nimen ja poistettavan indeksin:


minunLista = ["Matti", "Pekka", "Marja", "Tuija"]

print(minunLista[0]) 	#tulostaa "Matti"

del minunLista[0]		#poistetaan ensimmäinen alkio

print(minunLista[0])	#nyt ensimmäinen on "Pekka"

	

Muita valmiiksi tarjottuja funktioita listan käsittelyyn ovat mm:

Alla on näistä esimerkki:


minunLista = ["Matti", "Pekka", "Marja", "Tuija"]

def tulostaNimet():
    print(minunLista)   #tulostaa listan
    
def poistaNimi():
    del minunLista[0]             #poistaa listasta 0:n alkion
    
def lisaaListaan():
    minunLista.insert(1,"Pentti") #lisää listaan "Pentti" indeksiin 1
    
def listanPituus():
    pituus = len(minunLista)      #hakee listan pituuden
    print(pituus)
    
def jarjestaLista():
    minunLista.sort()             #järjestää listan


tulostaNimet()
poistaNimi()
tulostaNimet()

lisaaListaan()
tulostaNimet()

jarjestaLista()
tulostaNimet()

listanPituus()
	

Lisää funktioita, operaatioita ja metodeja

Oletetaan listojen olevan:

Listan läpikäyminen for in-lauseella

Lista voidaan käydä läpi for in -lauseella.


minunLista = ["Matti", "Pekka", "Marja", "Tuija"]

def tulostaNimet():
	for alkio in minunLista:	#tee jokaiselle alkiolle listassa
		print(alkio)   			#tee jotain listan alkiolla
							#Huom! muuttujan nimen voi itse valita 

tulostaNimet()

	

Tehtävä 1

Tee ohjelma, mikä kysyy viiden ihmisen nimet.

Ohjelma tulostaa nimet aakkosjärjestyksessä.

Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.

Tehtävä 2

Tee ohjelma, mikä kysyy lukuja, kunnes käyttäjä antaa käskyn "lopeta".

Kun kirjoitat "lopeta", ohjelma tulostaa käyttäjän antamista luvuista suurimman luvun, pienimmän luvun ja laskee lukujen keskiarvon.

Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.