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

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ä

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

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

Index()-metodi
kertoo halutun alkion paikan listassa.
 >>> L.index("gorilla")
 4

Poistaminen

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

Lajittelu

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


Kääntäminen

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

Poikkeukset

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

Listan luominen

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

Luokka:Python 3#Lista Luokka:Python#Lista
Luokka:Python Luokka:Python 3