Funkcia filter na filtrovanie objektov v Pythone
Poďme si teraz preštudovať funkciu filter.
Umožňuje filtrovať prvky zoznamov
a iných iterovateľných objektov podľa nejakej
podmienky. Ako prvý parameter prijíma
funkciu, ktorá určuje podmienku na kontrolu.
V druhom parametri sa uvádza zoznam,
ktorého prvky budú filtrované.
Ak funkcia vráti True, potom
prvok ostáva v novom zozname. Ak
vráti False, prvok sa do
zoznamu nedostane.
Majme zoznam:
lst = [1, 2, 3, 4, 5, 6]
Ponechajme v ňom len párne čísla.
Pomocou lambda funkcie zadefinujeme,
aby sa predané číslo v jej parametri
delilo s 2 bez zvyšku:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Po vykonaní kódu sa vráti nový zoznam:
[2, 4, 6]
Daný zoznam s číslami:
lst = [1, 2, 3, 4, 5]
Zapíšte do nového zoznamu len nepárne čísla z tohto zoznamu.
Daný zoznam s reťazcami:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Zapíšte do nového zoznamu len reťazce,
ktorých dĺžka sa rovná 2.