filter
При помощи указанной функции фильтрует элементы переданного объекта.
filter(func, iterable)
-> +py3.0 iterator | list, tuple, str
func -- Фильтрующая функция. Должна принимать элемент фильтруемого объекта. Если функция вернёт False, данный элемент не попадёт в результат. Если передано None, считается что требуется применить тождественное отображение (lambda *args: args), таким образом все элементы, оцениваемые как False будут отфильтрованы.
iterable -- Объект, элементы которого следует отфильтровать. Может быть последовательностью, объектом поддерживающим итерирование, либо итератором. До -py3.0, если объект является строкой, или кортежем, результат будет соответствующего типа, в остальных случаях возвращается список.
iterable -- Объект, элементы которого следует отфильтровать. Может быть последовательностью, объектом поддерживающим итерирование, либо итератором. До -py3.0, если объект является строкой, или кортежем, результат будет соответствующего типа, в остальных случаях возвращается список.
filtered = filter(None, [1, 0, 2, '', 4])
list(filtered) # [1, 2, 4]
filtered = filter(lambda value: 'a' in value, ['', 'a', 'b', 'fa'])
list(filtered) # ['a', 'fa']
# Далее для Python 2
filtered = filter(None, (1, 0, 2, '', 4))
filtered # (1, 2, 4)
filtered = filter(lambda value: value == 'a', 'abrakadabra')
filtered # 'aaaaa'
На заметку
До -py3.0, чтобы получить в результате итератор (стандартное поведение Python 3) используйте
itertools.ifilter()
, itertools.ifilterfalse()
.На заметку
Чтобы получить результат из элементов оцененных как False, воспользуйтесь
itertools.filterfalse()
.
Синонимы поиска: filter
В разделе «Встроенные функции»:
abs
all
any
apply
ascii
bin
callable
chr
classmethod
cmp
compile
delattr
dir
divmod
enumerate
eval
exec
format
getattr
globals
hasattr
hash
help
hex
id
input
isinstance
issubclass
iter
len
locals
map
max
min
next
oct
open
ord
pow
print
raw_input
reduce
repr
reversed
round
setattr
sorted
staticmethod
sum
super
unichr
vars
zip
На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.