Funkcija filter objektu filtrēšanai Python
Tagad pētīsim funkciju filter.
Tā ļauj filtrēt sarakstu elementus
un citu iterējamo objektu pēc kāda
nosacījuma. Pirmajā parametrā tā pieņem
funkciju, kas nosaka pārbaudes nosacījumu.
Otrajā parametrā norāda sarakstu,
kura elementi tiks filtrēti.
Ja funkcija atgriež True, tad
elements paliek jaunajā sarakstā. Ja
tiek atgriezts False, tad elements
netiek iekļauts sarakstā.
Pieņemsim, ka mums ir saraksts:
lst = [1, 2, 3, 4, 5, 6]
Atstāsim tajā tikai pāra skaitļus.
Lai to izdarītu, ar lambda funkcijas palīdzību norādīsim,
ka padotais skaitlis parametrā
jādala ar: 2 bez atlikuma:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Pēc koda izpildes tiks atgriezts jauns saraksts:
[2, 4, 6]
Dots saraksts ar skaitļiem:
lst = [1, 2, 3, 4, 5]
Ierakstiet jaunā sarakstā tikai nepāra skaitļus no šī saraksta.
Dots saraksts ar virknēm:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Ierakstiet jaunā sarakstā tikai virknes,
kuru garums ir vienāds ar 2.