Функция 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
.