Python да объектларни фильтрлаш учун filter функцияси
Келинг энди 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 га тенг бўлган сатрларни
янги рўйхатга ёзинг.