Фильтр Python: как фильтровать элементы в Python с примером

Метод 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 () возвращает итератор, который прошел проверку функции для каждого элемента в итерируемом объекте. Возвращенные элементы — это те, которые прошли тест.

Оцените статью
nanomode.ru
Добавить комментарий