Метод filter () фильтрует данную итерацию с помощью функции, которая проверяет, является ли каждый элемент в итерации истинным или нет. Метод Python filter () создает итератор из элементов итерации, для которых функция возвращает значение true.
Python filter ()
Python filter () — это встроенная функция, которая возвращает итератор, в котором элементы фильтруются с помощью функции, чтобы проверить, принят ли элемент или нет.
фильтр (функция, итерация)
Параметр
Параметр function должен запускаться для каждого элемента в итерации. Функция, которая проверяет, возвращают ли элементы итерируемого значения True или False. Если None, то функция по умолчанию использует функцию Identity, которая возвращает False.
итерация — это параметр, который нужно отфильтровать. . Итерируемый объект, который должен быть отфильтрован, может быть структурой данных Python, такой как наборы, списки, кортежи или контейнеры любых итераторов.
См. следующий пример метода Python Filter.
# app.pynums = [21, 19, 18, 46, 6, 29] def checkEven (x): if x% 2 = = 0: return True else: return Falsedata = filter (checkEven, nums) print (list (data))
В приведенном выше коде мы определили список и функцию, которая принимает один параметр и проверяет этот предмет, если он четный. Если это правда, то он вернет истину, и мы получим этот элемент в объекте данных, а затем сможем преобразовать его в список.
Затем метод filter () передает каждое целое число в checkEven () , чтобы проверить, возвращает ли он True или False. В конце концов, он создает итератор для тех, которые возвращают истину.
См. Вывод ниже.
Лямбда и функция фильтра в Python
Если вы не знаете, что такое лямбда-функция, ознакомьтесь с моей статьей о лямбда-функции Python в этом блоге.
Мы можем использовать функцию Lambda внутри встроенной функции Python filter (), чтобы найти все числа в списке, делящиеся на 2. В Python анонимная функция означает, что функция не имеет имени. См. Приведенный ниже пример метода фильтрации с анонимной функцией.
Если мы используем функцию Lambda, то размер кода по сравнению с приведенным выше кодом уменьшается до 3 строк. См. Приведенный ниже код.
# app.pyintegers = [21, 19, 18, 46, 6, 29] even = list (filter (lambda x: x% 2 == 0, integer) ) print (даже)
Теперь запустите файл и посмотрите результат.
Метод filter () возвращает итератор, который прошел проверку функции для каждого элемента в итерируемом объекте. Возвращенные элементы — это те, которые прошли тест.