Funkcija filter za filtriranje objektov v Pythonu
Poglejmo si zdaj funkcijo filter.
Omogoča filtriranje elementov seznamov
in drugih iterabilnih objektov po nekem
pogoju. Kot prvi parameter sprejme
funkcijo, ki določa pogoj za preverbo.
Kot drugi parameter se poda seznam,
katerega elementi se bodo filtrirali.
Če funkcija vrne True, potem
element ostane v novem seznamu. Če
vrne False, potem element ne
vstopi v seznam.
Recimo, da imamo seznam:
lst = [1, 2, 3, 4, 5, 6]
Pustimo v njem samo sode številke.
Za to z lambda funkcijo določimo,
da se mora številka, poslana v njen parameter,
deliti z: 2 brez ostanka:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Po izvedbi kode se vrne nov seznam:
[2, 4, 6]
Dan je seznam s številkami:
lst = [1, 2, 3, 4, 5]
Zapišite v nov seznam samo lihe številke iz tega seznama.
Dan je seznam z nizi:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Zapišite v nov seznam samo nize,
katerih dolžina je enaka 2.