Фильтр - это встроенная функция Python. Он фильтрует указанную последовательность или итерацию с помощью функции, которая проверяет каждый элемент или элемент в итерации на истинность или ложь. Проще говоря, функция фильтра фильтрует итерируемое через функцию. Данная функция проверяет каждый элемент последовательности или итерации и возвращает истину, если элемент удовлетворяет заданным критериям. В результате функция filter () создает новый итератор. Наиболее часто используемые итерируемые объекты - это списки, кортежи и словари. В этой статье кратко описывается функция filter () с помощью примеров.
Синтаксис функции filter ()
Давайте сначала обсудим синтаксис функции filter (). Синтаксис функции filter () следующий:
филе (функция, итерация или последовательность)Функция фильтра принимает в качестве аргумента два параметра: i.е., функция и итерируемый. Функция проверяет каждый элемент или элемент итерации, истинно это или нет, в соответствии с заданными критериями. Второй аргумент - итерация или фильтруемая последовательность. Функция оценивает каждый элемент итерации по заданным критериям. Наконец, функция filter () возвращает отфильтрованный итератор.
Давайте посмотрим на примеры функции filter () и реализуем ее в нашем скрипте Python. Мы используем редактор spyder3 для создания и запуска скриптов Python.
Пример 1. Отфильтруйте список чисел
Создадим список номеров и отфильтруем его. В данном примере list_func () оценивает каждый элемент списка по заданному условию. Если элемент списка больше 5, функция возвращает значение true и добавляет элемент в фильтр.
# создание списка номеровmy_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# создание функции
def list_func (listObj):
# условный оператор для проверки числа
если (listObj> 5):
вернуть True
еще:
вернуть ложь
# использование функции фильтра для фильтрации итерируемого через list_func
числа = фильтр (list_func, my_list)
# печать нового итератора
для i в числах:
печать (я)
Выход
На выходе отображается отфильтрованный итератор. Отфильтрованный итератор состоит из всех элементов, которые больше 5.
Пример 2: отфильтровать список символов
Создадим список символов и применим функцию фильтра.
# создание списка номеровmy_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# создание функции
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# условный оператор для проверки символа
если (listObj в word_list):
вернуть True
еще:
вернуть ложь
# использование функции фильтра для фильтрации итерируемого через list_func
слова = фильтр (list_func, my_list)
# печать нового итератора
для i словами:
печать (я)
Выход
Примеры 3. Отфильтруйте четное число
Давайте отфильтруем четные числа из заданного списка чисел, используя функцию фильтрации.
# создание списка номеровmy_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# создание функции
def list_func (listObj):
# условный оператор для проверки четности числа
если (listObj% 2 == 0):
вернуть True
еще:
вернуть ложь
# использование функции фильтра для фильтрации итерации через list_func
even_numbers = фильтр (list_func, my_list)
# печать нового итератора
для i в четных_числах:
печать (я)
Выход
Примеры 4: Отфильтруйте високосный год
Отфильтруем високосные годы из данного списка лет с помощью функции фильтрации.
# создание списка номеровmy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# создание функции
def list_func (listObj):
# условный оператор для проверки високосного года
если (listObj% 4 == 0):
вернуть True
еще:
вернуть ложь
# использование функции фильтра для фильтрации итерируемого через list_func
leap_year = фильтр (list_func, my_list)
# печать нового итератора
для i в leap_year:
печать (я)
Выход
Выходные данные отображают високосные годы из данного списка лет.
Примеры 5: использование лямбда-функции с filter ()
Функция фильтра в основном используется с лямбда-функцией. Давайте передадим лямбда-функцию в качестве аргумента функции filter ().
# создание списка номеровmy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# объявление переменной even_number
#even_number переменная содержит четные числа
# using лямбда-функция
четное_число = фильтр (лямбда listObj: listObj% 2 == 0, my_list)
print ("Список четных чисел")
для i в четном_числе:
печать (я)
leap_year = filter (лямбда listObj: listObj% 4 == 0, my_list)
print («Список високосных лет»)
для x в leap_year:
печать (х)
Выход
Заключение
Filter () - это встроенная функция Python, которая используется для фильтрации итерации по заданной функции. В этой статье объясняется функция filter () с примерами.