Funkce filter pro filtrování objektů v Pythonu
Pojďme se nyní naučit funkci filter.
Umožňuje filtrovat prvky seznamů
a dalších iterovatelných objektů podle nějaké
podmínky. Jako první parametr přijímá
funkci, která definuje podmínku pro kontrolu.
Jako druhý parametr se uvádí seznam,
jehož prvky budou filtrovány.
Pokud funkce vrátí True, pak
prvek zůstane v novém seznamu. Pokud
vrátí False, prvek do
seznamu nebude zařazen.
Předpokládejme, že máme seznam:
lst = [1, 2, 3, 4, 5, 6]
Ponechme v něm pouze sudá čísla.
K tomu pomocí lambda funkce specifikujeme,
že předané číslo v jejím parametru musí
být dělitelné 2 beze zbytku:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Po provedení kódu bude vrácen nový seznam:
[2, 4, 6]
Daný seznam s čísly:
lst = [1, 2, 3, 4, 5]
Zapište do nového seznamu pouze lichá čísla z tohoto seznamu.
Daný seznam s řetězci:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Zapište do nového seznamu pouze řetězce,
jejichž délka je rovna 2.