Python функция filter()
Описание
filter()Функция используется для фильтрации последовательностей, отфильтровывая элементы, не удовлетворяющие условиям, и возвращает новый список, состоящий из элементов, удовлетворяющих условиям.
Он принимает два параметра: первый — функция, второй — последовательность. Каждый элемент последовательности передаётся как параметр в функцию для оценки, которая затем возвращает True или False. Наконец, элементы, возвращающие True, помещаются в новый список.
Примечание:Python 2.7 возвращает список, тогда как Python 3.x возвращает объект-итератор. Подробнее см.:Функция filter() в Python 3
Синтаксис
Ниже приведён синтаксис метода filter():
filter(function, iterable)
Parameters
- function -- функция проверки.
- iterable -- итерируемый объект.
Возвращаемое значение
Возвращает список.
Примеры
Ниже приведены примеры использования функции filter:
Отфильтровать все нечётные числа в списке:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
Результат вывода:
[1, 3, 5, 7, 9]
Отфильтровать числа от 1 до 100, квадратный корень которых является целым числом:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0
newlist = filter(is_sqr, range(1, 101))
print(newlist)
Результат вывода:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]Другие расширения
Встроенные функции Python