До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Что делает метод filter python?

Аватар пользователя Марфа Никитина
Марфа Никитина
14 декабря 2022

Функция filter() в Python применяет другую функцию к заданному итерируемому объекту (список, строка, словарь и т.дю), проверяя, нужно ли сохранить конкретный элемент или нет.

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

Объект фильтра — это итерируемый объект. Также можно конвертировать его в list, tuple или другие типы последовательностей с помощью соответствующих методов.


# список чисел
numbers = [1, 2, 4, 5, 7, 8, 10, 11]

def is_odd(number):
    return number % 2 == 0

filter_numbers = list(filter(is_odd, numbers))
# [2, 4, 8, 10]
0 0

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

Синтаксис

На вход подается 2 параметра – функция и итерируемый объект.

filter(function, iterable)
  • function – функция с одним аргументом. Именно по ней фильтруются значения.
  • Итерируемый объект “iterable” может содержать любую итерацию – список, кортеж, словарь и т.д

Применение filter() с пользовательской функцией. Одним из самых простых примеров является фильтр четных чисел.

numbers = [1, 2, 3, 4, 5, 7, 10, 11]
def filter_num(num):
    if(num % 2) != 0:
        return True
    else:
        return False
out_filter = filter(filter_num, numbers)
print("Отфильтрованный список: ", list(out_filter))  # Отфильтрованный список:  [1, 3, 5, 7, 11]

В данном случае мы передаем в filter() пользовательскую функцию (filter_num) и список чисел - numbers.

0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

Тест-драйв

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Похожие вопросы