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