Filter-funktio objektien suodattamiseen Pythonissa

Opiskellaan nyt filter-funktiota. Sen avulla voit suodattaa listojen ja muiden iteroitavien objektien elementtejä jonkin ehdon perusteella. Ensimmäisenä parametrina se ottaa vastaan funktion, joka määrittää tarkastusehdon. Toisena parametrina määritetään lista, jonka elementtejä suodatetaan. Jos funktio palauttaa True, niin elementti pysyy uudessa listassa. Jos palautetaan False, elementti ei kuulu listaan.

Olkoon meillä lista:

pythonlst = [1, 2, 3, 4, 5, 6]

Jätetään siihen vain parilliset numerot. Tätä varten lambda-funktion avulla määritetään, että parametriin välitetty luku jaettuna 2:lla ei jää jakojäännöstä:

pythonres = filter(lambda num: num % 2 == 0, lst)
print(list(res))

Koodin suorituksen jälkeen palautetaan uusi lista:

python[2, 4, 6]
Задание 1

Annettu lista numeroita:

pythonlst = [1, 2, 3, 4, 5]

Tallenna uuteen listaan vain parittomat numerot tästä listasta.

Задание 2

Annettu lista merkkijonoja:

pythonlst = ['abcd', 'ab', 'c', 'de', 'bc']

Tallenna uuteen listaan vain ne merkkijonot, joiden pituus on 2.