CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, Luento-opetus, 1.11.2021-10.12.2021
This course space end date is set to 10.12.2021 Search Courses: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Pythonin tietorakenteita
Tähän mennessä olemme tutustuneet yksinkertaisiin tietotyyppeihin kuten int, float, str ja bool. Nämä tietotyypit ovat yksinkertaisia, koska niihin tallennetaan käytännössä vain yksi arvo, kuten yksi kokonaisluku. Mutta entä
jos haluaisimme säilöä vaikka 1000 kokonaislukua? Emme varmaankaan haluaisi määritellä tuhatta muuttujaa?
Otetaan nyt käyttöön monimutkaisempia tietorakenteita, joiden avulla voi hallita suuria tietomääriä. Pythonissa on useita erilaisia tietorakenteita eri käyttötarkoituksiin. Tietorakenteet esitellään lyhyesti alla ja niistä kerrotaan enemmän seuraavissa kappaleissa.
Lista
lista (list) on erittäin joustava tietorakenne. Listat määritellään hakasulkeiden avulla:
tilavuudet = [10.2, 2.6, 3.55]
Listan yksittäistä arvoa kutsutaan listan alkioksi. Ylläolevassa listassa on siis kolme alkiota.
Monikko
monikko (tuple) on kuten lista, mutta sitä ei voi muokata. Monikot määritellään tavallisten sulkeiden avulla:
jalokaasut = ('He', 'Ne', 'Ar', 'Kr', 'Xe', 'Rn')
Kuten listojen kohdalla, myös monikon yksittäinen arvo on monikon alkio. Ylläolevassa listassa on siis kuusi alkiota.
Sanakirja
sanakirja (dictionary) koostuu avain:arvo -pareista. Avainten tulee olla uniikkeja. Sanakirjat määritellään kaarisulkeiden avulla:
atomipainot = {'H': 1.008, 'C': 12.011, 'O': 15.999}
Yllä olevassa sanakirjassa on siis kolme avain:arvo -paria.
Joukko
joukko (set) on tietorakenne, jossa kukin arvo voi esiintyä vain kerran. Emme hyödynnä joukkoja tällä kurssilla. Joukot määritellään kaarisulkeilla, mutta toisin kuin sanakirjat, joukot koostuvat yksittäisistä arvoista ilman avaimia:
metallit = {'Cu', 'Ag', 'Cu', 'Ag'}
Ylläolevan määrittelyn jälkeen metallit-joukon sisältö on {'Cu', 'Ag'}, eli vain uniikit arvot on tallennettu joukkoon.