Функция filter() в Python:
Функция filter предлагает элегантный вариант фильтрации элементов последовательности. Принимает в качестве аргументов функцию и последовательность, которую необходимо отфильтровать:
?
1
2
3
4
5 |
mixed = ['мак', 'просо', 'мак', 'мак', 'просо', 'мак', 'просо', 'просо', 'просо', 'мак']
zolushka = list(filter(lambda x: x == 'мак', mixed))
print (zolushka)
['мак', 'мак', 'мак', 'мак', 'мак'] |
Обратите внимание, что функция, передаваемая в filter должна возвращать значение True / False, чтобы элементы корректно отфильтровались.
>>> l_num = [10, 13, 5, 67, 101, 4]
>>> l_res = list(filter(lambda x: x > 12, l_num))
>>> l_res
[13, 67, 101]
>>> l_num = [10, -13, -5, 67, -101, 4]
>>> l_res = list(filter(lambda x: x > 0, l_num))
>>> l_res
[10, 67, 4]