Siirry sisältöön

Python 3/Lista

Wikikirjastosta

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.

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])
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.

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']
Index()-metodi
kertoo halutun alkion paikan listassa.
 >>> L.index("gorilla")
 4
Remove()-metodi
poistaa halutun alkion listasta.
 >>> L.remove("gorilla")
 >>> L
 ['koira', 'kissa', 'apina', 'norsu']
pop()
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']
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ä]