3 Основное использование фильтра

Для того, чтобы filter Сбрасывает элементы последовательности на основе некоторых критериев:

 names = ['Fred', 'Wilma', 'Barney']

def long_name(name):
    return len(name) > 5

 
filter (long_name, names) # Out: ['Barney'] [имя для имени в именах, если len (name)> 5] # понимание списка эквивалентных номеров # Out: ['Barney'] из itertools импортировать ifilter ifilter (long_name, names) # как генератор (похож на встроенный фильтр python 3.x) # Out: list (ifilter (long_name, names)) # эквивалент фильтра со списками # Out: ['Barney'] (имя для имени в именах, если len (name)> 5) # эквивалентное выражение генератора # Out: в 0x0000000003FD5D38> # Помимо опций для более старых версий Python 2.x, есть функция future_builtin: из фильтра фильтра import_builtins (long_name, names) #, идентичного itertools.ifilter # Out: фильтр (long_name, names) # возвращает генератор # Out: list (filter (long_name, names)) # приведение к списку # Out: ['Barney'] (имя для имени в именах, если len (name)> 5) # эквивалентное выражение генератора # Out: в 0x000001C6F49BF4C0>