Python 3/Lista
Lista on tietotyyppi, joka sisältää järjestetyn joukon alkioita. Lista ympäröidään hakasulkeilla []. Listan alkiot erotetaan toisistaan pilkuilla. Hyvin samantyyppinen tietotyyppi on monikko (tuple), mutta siltä puuttuu listan metodit ja on sen vuoksi hieman nopeampi.
Operaatiot
[muokkaa | muokkaa wikitekstiä]x in a
x not in a
a + b
a * n
a[i]
a[i:j]
a[i:j:step]
len(a)
min(a)
max(a)
a[i] = x
a[i:j[:step]] = t
del a[i:j[:step]]
a.append(x)
a.extend(x)
a.count(x)
a.index(x[, start[, stop]])
a.insert(i, x)
a.remove(x)
a.pop([i])
a.reverse()
a.sort([cmpFct])
Yleistä
[muokkaa | muokkaa wikitekstiä]- Määritellään tyhjä lista
>>> L = []
- Tulostetaan se
>>> L
[]
- Määritellään alkioita sisältävä lista
>>> L = ["koira", "kissa", "apina"]
- Tulostetaan se
>>> L
['koira', 'kissa', 'apina']
Huomataan, että lista säilyttää järjestyksensä.
- Tulostetaan vain yksi alkio
>>> L[0]
'koira'
Tämä tulosti alkion, joka sijaitsee listan indeksissä nolla, eli ensimmäisen alkion. Indeksi voi olla niin suuri kuin listassa on alkioita (ensimmäinen indeksi on kuitenkin nolla).
- Tulostamisen voi myös tehdä negatiivisella indeksillä
>>> L[-3]
'koira'
Tässä tulostetaan kolmas alkio lopusta päin laskettuna.
Lisääminen
[muokkaa | muokkaa wikitekstiä]- Append()-metodi
- lisää alkion listan loppuun. Append voi myös lisätä erilaisia tietotyyppejä.
>>> L.append("hevonen")
>>> L
['koira', 'kissa', 'apina', 'hevonen']
- Insert()-metodi
- lisää alkion haluttuun indeksiin.
>>> L.insert(1, "papukaija")
>>> L
['koira', 'papukaija' 'kissa', 'apina']
- Extend()-metodi
- lisää listan loppuun toisen listan alkiot.
>>> L.extend(["norsu", "gorilla"])
>>> L
['koira', 'kissa', 'apina', 'norsu', 'gorilla']
Etsiminen
[muokkaa | muokkaa wikitekstiä]- Index()-metodi
- kertoo halutun alkion paikan listassa.
>>> L.index("gorilla")
4
Poistaminen
[muokkaa | muokkaa wikitekstiä]- Remove()-metodi
- poistaa halutun alkion listasta.
>>> L.remove("gorilla")
>>> L
['koira', 'kissa', 'apina', 'norsu']
- pop()
Lajittelu
[muokkaa | muokkaa wikitekstiä]- Sort()-metodi
- lajittelee listan aakkosien mukaan.
>>> L.sort()
>>> L
['apina', 'kissa', 'koira', 'norsu']
Kääntäminen
[muokkaa | muokkaa wikitekstiä]- Reverse()-metodi
- kääntää listan.
>>> L.reverse()
>>> L
['apina', 'kissa', 'koira']
Poikkeukset
[muokkaa | muokkaa wikitekstiä]ValueError: list.index(x): #indeksiä x ei ole listassa
Listan luominen
[muokkaa | muokkaa wikitekstiä]Minkä tahansa sekvenssityypin tai muun iteroitavissa olevan olion (iterable) voi muuttaa listaksi list
-funktiolla. Huomaa, että toisin kuin Python 2:ssa, Python 3:ssa monet sisäänrakennetut funktiot, kuten range
, map
ja filter
eivät enää palauta listaa, vaan tulos pitää tarvittaessa muuttaa listaksi.
>>> list("apina")
['a', 'p', 'i', 'n', 'a']
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(map(lambda c: chr(ord(c) + 1), "apina"))
['b', 'q', 'j', 'o', 'b']
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Python-kielisen_ohjelmoinnin_perusteet (Wikiopiston opintopiirin opiskeluohjeita)
- Python Tutorial – lists
- Python Tutorial – more on lists
- Dive Into Python – introducing lists
Johdanto: | |
---|---|
Tietotyypit ja tietorakenteet: |
Luvut - Merkkijonot - Lista - Monikko (tuple) - Sanakirja - Joukko (set) |
Ohjausrakenteet | |
Muut kielen rakenteet: |
Moduuli - Luokka - Funktio - Virheidenhallinta - Tiedosto |
Graafinen käyttöliittymä: | |
Harjoitustehtäviä: | |
Lisätiedot ja lähteet: |