Функция filter за филтриране на обекти в Python

Нека сега изучим функцията filter. Тя позволява да се филтрират елементи от списъци и други итерируеми обекти по някакво условие. Първият параметър, който приема, е функция, която задава условието за проверка. Във втория параметър се посочва списъкът, чиито елементи ще бъдат филтрирани. Ако функцията върне True, то елементът остава в новия списък. Ако се върне False, то елементът няма да влезе в списъка.

Нека имаме списък:

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

Нека оставим в него само четните числа. За целта, с помощта на ламбда функция, ще пропишем, че подаденото в нейния параметър число трябва да се дели на: 2 без остатък:

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

След изпълнение на кода ще се върне нов списък:

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

Даден е списък с числа:

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

Запишете в нов списък само нечетните числа от този списък.

Задание 2

Даден е списък със стрингове:

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

Запишете в нов списък само стринговете, чиято дължина е равна на 2.