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:

pythonlst = [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:

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

Po provedení kódu bude vrácen nový seznam:

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

Daný seznam s čísly:

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

Zapište do nového seznamu pouze lichá čísla z tohoto seznamu.

Задание 2

Daný seznam s řetězci:

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

Zapište do nového seznamu pouze řetězce, jejichž délka je rovna 2.