Funcția filter pentru filtrarea obiectelor în Python
Să studiem acum funcția filter.
Ea permite filtrarea elementelor din liste
și alte obiecte iterabile după o anumită
condiție. Primul parametru primește
o funcție care definește condiția de verificat.
În al doilea parametru se specifică lista
ale cărei elemente vor fi filtrate.
Dacă funcția returnează True, atunci
elementul rămâne în noua listă. Dacă
se returnează False, atunci elementul nu
va intra în listă.
Să presupunem că avem lista:
lst = [1, 2, 3, 4, 5, 6]
Să păstrăm în ea doar numerele pare.
Pentru aceasta, folosind o funcție lambda, vom specifica
ca numărul transmis ca parametru să fie
divizibil cu 2 fără rest:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
După executarea codului va fi returnată o nouă listă:
[2, 4, 6]
Se dă o listă cu numere:
lst = [1, 2, 3, 4, 5]
Înscrie într-o listă nouă doar numerele impare din această listă.
Se dă o listă cu șiruri de caractere:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Înscrie într-o listă nouă doar șirurile
ale căror lungime este egală cu 2.