Python

Функция фильтра Python

Функция фильтра Python

Фильтр - это встроенная функция 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 () с примерами.

Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...
Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...