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