Что делает метод 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
Познакомьтесь с основами Python бесплатно

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