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
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
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
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
Index()-metodi
kertoo halutun alkion paikan listassa.
 >>> L.index("gorilla")
 4

Poistaminen

muokkaa
Remove()-metodi
poistaa halutun alkion listasta.
 >>> L.remove("gorilla")
 >>> L
 ['koira', 'kissa', 'apina', 'norsu']
pop()

Lajittelu

muokkaa
Sort()-metodi
lajittelee listan aakkosien mukaan.
 >>> L.sort()
 >>> L
 ['apina', 'kissa', 'koira', 'norsu']


Kääntäminen

muokkaa
Reverse()-metodi
kääntää listan.
 >>> L.reverse()
 >>> L
 ['apina', 'kissa', 'koira']

Poikkeukset

muokkaa
ValueError: list.index(x): #indeksiä x ei ole listassa

Listan luominen

muokkaa

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