Функция filter за филтриране на обекти в Python
Нека сега изучим функцията filter.
Тя позволява да се филтрират елементи от списъци
и други итерируеми обекти по някакво
условие. Първият параметър, който приема, е
функция, която задава условието за проверка.
Във втория параметър се посочва списъкът,
чиито елементи ще бъдат филтрирани.
Ако функцията върне True, то
елементът остава в новия списък. Ако
се върне False, то елементът няма да
влезе в списъка.
Нека имаме списък:
lst = [1, 2, 3, 4, 5, 6]
Нека оставим в него само четните числа.
За целта, с помощта на ламбда функция, ще пропишем,
че подаденото в нейния параметър число
трябва да се дели на: 2 без остатък:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
След изпълнение на кода ще се върне нов списък:
[2, 4, 6]
Даден е списък с числа:
lst = [1, 2, 3, 4, 5]
Запишете в нов списък само нечетните числа от този списък.
Даден е списък със стрингове:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Запишете в нов списък само стринговете,
чиято дължина е равна на 2.