4. Teema Listid

  1. Mis on list?
  2. Listi loomine
  3. Listi põhifunktsioonid
  4. Listi omadused
  5. List comprehension
  6. Näited:

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 x listi lõppu
    • insert(i, x) — lisa element x indeksile i
    • remove(x) — eemalda listist esimene element, mis on x
    • pop(i) — eemalda ja tagasta element indeksil i; ilma argumendita eemaldab viimase
  • Muud meetodid:
    • sort() — sorteeri list (algset muutmata saab kasutada ka sorted())
    • reverse() — pööra listi järjekord
    • count(x) — loenda, mitu korda x esineb
    • 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]

JÄRGMINE TEEMA