Поиск по сайту:
Книга жизнеспособна лишь в том случае, если дух ее устремлен в будущее (О. Бальзак).

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

19.11.2020
Что нового в Python 3

Filter – это встроенная функция Python. Он фильтрует указанную последовательность или итерацию с помощью функции, которая проверяет каждый элемент или элемент в итерации на истинность или ложь. Проще говоря, функция filter фильтрует итерируемое через функцию. Данная функция проверяет каждый элемент последовательности или итерации и возвращает истину, если элемент удовлетворяет заданным критериям. В результате функция filter() создает новый итератор. Чаще всего используются итерируемые списки, кортежи и словари. В этой статье кратко описывается функция filter() с помощью примеров.

 

Синтаксис функции filter()

Давайте сначала обсудим синтаксис функции filter(). Синтаксис функции filter() следующий:

filter(function, iterable or sequence)

 

Функция фильтра принимает в качестве аргумента два параметра, т. е. функцию и итерацию. Функция проверяет каждый элемент или элемент итерируемого, истинно это или нет, в соответствии с заданными критериями. Второй аргумент – итерация или фильтруемая последовательность. Функция оценивает каждый элемент итерации по заданным критериям. Наконец, функция filter() возвращает отфильтрованный итератор.

Давайте посмотрим на примеры функции filter() и реализуем ее в нашем скрипте 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):

# условный оператор, чтобы проверить номер

if(listObj>5):

return True

else:

return False

#используя функцию Filter для фильтрации повторяемое через list_func

numbers = filter(list_func,my_list)

#печать нового итератора

for i in numbers:

print(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']

# условный оператор для проверки символа

if(listObj in word_list):

return True

else:

return False

#использование функции фильтра для фильтрации итераций через list_func

words = filter(list_func,my_list)

#печать нового цикла

for i in words:

print(i)

 

Читать  Как создать исполняемые файлы для Python (от .PY до .EXE)

Примеры 3. Отфильтруйте четное число

Давайте отфильтруем четные числа из заданного списка чисел с помощью функции фильтрации.

#создание списка номеров

my_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]

#создание функции

def list_func(listObj):

# условный оператор для проверки символа

if(listObj%2==0):

return True

else:

return False

#использование функции фильтра для фильтрации итераций через list_func

even_numbers= filter(list_func,my_list)

#печать нового цикла

for i in even_numbers:

print(i)

 

Примеры 4: отфильтровать високосный год

Давайте отфильтруем високосные годы из данного списка лет с помощью функции фильтрации.

#создание списка номеров

my_list = [2010,2012,2014,2016,2018,2020,2022,2024]

#создание функции

def list_func(listObj):

# условный оператор для проверки високосного года

if(listObj%4==0):

return True

else:

return False

#использование функции фильтра для фильтрации итераций через list_func

leap_year= filter(list_func,my_list)

#печать нового цикла

for i in leap_year:

print(i)

 

Выходные данные отображают високосные годы из данного списка лет.

 

Примеры 5: использование лямбда-функции с filter ()

Функция фильтра в основном используется с лямбда-функцией. Давайте передадим лямбда-функцию в качестве аргумента функции filter().

#создание списка номеров

my_list = [2010,2012,2014,2016,2018,2020,2022,2024]

##объявление переменной even_number

#переменная even_number содержит четные числа

#объявление функции lambda

even_number = filter(lambda listObj:listObj%2==0,my_list)

print("Список четных чисел")

for i in even_number:

print(i)

leap_year = filter(lambda listObj:listObj%4==0,my_list)

print("Список високосных лет")

for x in leap_year:

print(x)

 

Вывод

Filter() – это встроенная функция Python, которая используется для фильтрации итерации для данной функции. Эта статья объясняет функцию filter() с примерами.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
В этой статье мы покажем вам, как работать с метатегами в HTML5.  …

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: