Функцыя filter для фільтрацыі аб'ектаў у Python
Давайце цяпер вывучым функцыю filter.
Яна дазваляе адфільтраваць элементы спісаў
і іншых ітэруемых аб'ектаў па якому-небудзь
ўмове. Першым параметрам яна прымае
функцыю, якая задае ўмову для праверкі.
У другім параметры ўказваюць спіс,
элементы якога будуць фільтравацца.
Калі функцыя вяртае True, то
элемент застаецца ў новым спісе. Калі
вяртаецца False, то элемент не
ўвойдзе ў спіс.
Хай у нас ёсць спіс:
lst = [1, 2, 3, 4, 5, 6]
Давайце пакінем у ім толькі цотныя лікі.
Для гэтага з дапамогай лямбда-функцыі пропишем,
каб перададзенае ў яе параметр лік
дзялілася на: 2 без астатку:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Пасля выканання кода вернецца новы спіс:
[2, 4, 6]
Дадзены спіс з лікамі:
lst = [1, 2, 3, 4, 5]
Запишыце ў новы спіс толькі няцотныя лікі з гэтага спісу.
Дадзены спіс з радкамі:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Запишыце ў новы спіс толькі радкі,
даўжыня якіх роўная 2.