Python 3/Lista

Wikikirjastosta
Siirry navigaatioon Siirry hakuun

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ä]