(toiminnot)

hwechtla-tl: Listakeräelmien olemus

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Listakeräelmä on ilmaus, joka vastaa luonnollisessa kielessä tietynlaista relatiivilausetta ("lista, jossa on ... jokaista ... kohden") tai monikollista suhteen ilmausta ("x-listan elementtien y:t"). Esimerkiksi [x * 2 for x in ls] luetaan "lista, jossa on x*2 jokaista ls-listan x:ää kohden" tai "ls-listan elementit tuplattuina". Toiseksi esimerkiksi [sisko(hlo) for hlo in henkilot] luetaan "lista, jossa on henkilön sisko jokaista henkilot-listan henkilöä kohden" tai "henkilot-listan elementtien siskot". Listakeräelmän tulos (= arvo) on aina lista. Se, mitä tietokone tarkemmin ottaen tekee laskeakseen listakeräelmän arvon, käsitellään kohdassa "listakeräelmien toiminta".

Listakeräelmillä on useampia muotoja. Nämä vastaavat erilaisia suhteellisen monimutkaisia relatiivilauseita. Koska luonnollisessa kielessä ei yleensä puhuta listoista, luonnollisen kielen vastineet ovat usein aika kummallisia. Monille listakeräelmien erityismuodoille on kuitenkin luontevia lukutapoja: [kaveri(x) for x in lista] tarkoittaa "listan elementtien kaverit", [x for x in lista if kiva(x)] tarkoittaa "listan kivat elementit (eikä muita)", ja [kaveri(x) for x in lista if kiva(x)] tarkoittaa "listan kivojen elementtien kaverit (eikä muiden)".

Pohjimmiltaan listakeräelmät ovat tapoja käydä läpi listoja (erilaisia aineistoja) ja tuottaa niistä jotain uutta (uusia aineistoja).


Listakeräelmien käyttö


kommentoi (viimeksi muutettu 11.11.2008 14:56)