Funktio filter
Funktio filter suodattaa
iteroitavan olion elementit, jättäen vain
ne, jotka täyttävät tietyn ehdon.
Ensimmäisessä parametrissa määritetään
callback-funktio, jonka perusteella oliota
suodatetaan. Toisessa parametrissa on
itse suodatettava olio.
Olioon jäävät vain ne elementit, joille
callback palauttaa True.
Funktio palauttaa tuloksenaan erityisen
iteroitavan olion. Sen voi muuntaa
listaksi käyttämällä list -funktiota.
Syntaksi
filter(funktio, suodatettava olio)
Esimerkki
Suodatetaan alkuperäisestä listasta lista, jossa on vain parilliset elementit:
lst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 == 0, lst)
print(list(res))
Koodin suorituksen tulos:
[2, 6, 8]
Esimerkki
Suodatetaan nyt vain parittomat elementit:
lst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 != 0, lst)
print(list(res))
Koodin suorituksen tulos:
[3, 15]