Mis on list?
List on muudetav järjestatud andmestruktuur, mis võimaldab salvestada mitmesuguseid elemente, sealhulgas erinevat tüüpi objekte. Listi elemendid on indekseeritud alates nullist, mis tähendab, et esimene element asub indeksil 0.
Listi eripära on selle võimekus muutuda — sa saad lisada, eemaldada või muuta elemente jooksvalt koodi käigus. See teeb listi üheks paindlikumaks andmetüübiks.
Listi loomine
Listi saab luua mitmel viisil:
- Tühi list:
my_list = []
- List etteantud elementidega:
my_list = [1, 2, 3, 4]
- List teisendades muudest iteratiivsetest objektidest, näiteks sõnest:
my_list = list("tere") # ['t', 'e', 'r', 'e']
Listi põhifunktsioonid
- Indekseerimine ja viilutamine (slicing):
- my_list[0] — esimene element
- my_list[-1] — viimane element
- my_list[2:5] — alamlist indeksitest 2 kuni 4 (5 on piir, mitte kaasatud)
- my_list[:3] — esimesed kolm elementi
- my_list[3:] — alates indeksist 3 kuni lõpuni
- Elementide lisamine ja eemaldamine:
- append(x) — lisa element
xlisti lõppu - insert(i, x) — lisa element
xindeksilei - remove(x) — eemalda listist esimene element, mis on
x - pop(i) — eemalda ja tagasta element indeksil
i; ilma argumendita eemaldab viimase
- append(x) — lisa element
- Muud meetodid:
- sort() — sorteeri list (algset muutmata saab kasutada ka sorted())
- reverse() — pööra listi järjekord
- count(x) — loenda, mitu korda
xesineb - copy() — tagasta listi koopia
- clear() — tühjenda list täielikult
Listi omadused
- List on heterogeenne — saab hoida erinevat tüüpi elemente samas listis.
- List on muutuv (mutable) — elemente saab muuta, lisada ja eemaldada.
- Listi elementide järjestus on oluline ja säilib.
List comprehension
Lihtne ja elegantne viis luua uusi liste olemasolevate andmete põhjal.
Näiteks:
squared = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
See loob uue listi, kus iga element on algse range(5) elemendi ruut.
Näited:
numbers = [3, 6, 9, 12, 15]
numbers.append(18)
numbers.remove(9)
numbers.sort()
subset = numbers[1:4]