Filter adalah fungsi Python bawaan. Ini menyaring urutan yang ditentukan atau iterable melalui fungsi yang memeriksa setiap item atau elemen dalam iterable menjadi benar atau salah. Sederhananya, fungsi filter menyaring iterable melalui suatu fungsi. Fungsi yang diberikan menguji setiap item dari urutan atau iterable dan mengembalikan true jika item memenuhi kriteria yang diberikan given. Akibatnya, fungsi filter() membuat iterator baru. Iterable yang paling umum digunakan adalah daftar, tupel, dan kamus. Artikel ini menjelaskan secara singkat fungsi filter() dengan bantuan contoh.
Sintaks fungsi filter()
Mari kita bahas sintaks fungsi filter() terlebih dahulu. Sintaks fungsi filter() adalah sebagai berikut:
filet (fungsi, dapat diubah atau urutan)Fungsi filter mengambil dua parameter sebagai argumen, i.e., fungsi dan dapat diubah. Fungsi memeriksa setiap elemen atau item dari iterable, apakah itu benar atau tidak, sesuai dengan kriteria yang diberikan. Argumen kedua dapat diubah atau urutan yang akan difilter. Fungsi mengevaluasi setiap item dari iterable pada kriteria yang diberikan. Akhirnya, fungsi filter() mengembalikan iterator yang difilter.
Mari kita lihat contoh fungsi filter() dan mengimplementasikannya dalam skrip Python kami. Kami menggunakan editor spyder3 untuk membuat dan menjalankan skrip Python.
Contoh 1: Saring daftar angka
Mari kita buat daftar angka dan filter. Dalam contoh yang diberikan, list_func() mengevaluasi setiap item daftar pada kondisi tertentu. Jika item daftar lebih besar dari 5, maka fungsi mengembalikan nilai true dan menambahkan item ke filter.
#membuat daftar nomormy_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#membuat fungsi
def list_func(listObj):
# pernyataan bersyarat untuk memeriksa nomor
jika(daftarObj>5):
kembali Benar
lain:
kembali Salah
#menggunakan fungsi filter untuk memfilter iterable melalui list_func
angka = filter(daftar_fungsi,daftar_saya)
#mencetak iterator baru
untuk saya dalam angka:
cetak (i)
Keluaran
Output menampilkan iterator yang difilter. Iterator yang difilter dibangun oleh semua item yang lebih besar dari 5.
Contoh 2: Filter daftar karakter
Mari buat daftar karakter dan terapkan fungsi filter.
#membuat daftar nomormy_list = ['a','b','c','l','d','i','k','n','o','u','x']
#membuat fungsi
def list_func(listObj):
word_list=['l', 'i', 'n', 'u', 'x']
# pernyataan bersyarat untuk memeriksa karakter
if(listObj di word_list):
kembali Benar
lain:
kembali Salah
#menggunakan fungsi filter untuk memfilter iterable melalui list_func
kata = filter(daftar_fungsi,daftar_saya)
#mencetak iterator baru
untuk saya dengan kata-kata:
cetak (i)
Keluaran
Contoh 3: Saring bilangan genap
Mari kita filter angka genap dari daftar angka yang diberikan menggunakan fungsi filter.
#membuat daftar nomormy_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#membuat fungsi
def list_func(listObj):
# pernyataan bersyarat untuk memeriksa bilangan genap
if(listObj%2==0):
kembali Benar
lain:
kembali Salah
#menggunakan fungsi filter untuk memfilter iterable melalui list_func
even_numbers= filter(list_func,my_list)
#mencetak iterator baru
untuk saya di genap_numbers:
cetak (i)
Keluaran
Contoh 4: Saring tahun kabisat
Mari kita saring tahun kabisat dari daftar tahun yang diberikan menggunakan fungsi filter.
#membuat daftar nomormy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#membuat fungsi
def list_func(listObj):
# pernyataan bersyarat untuk memeriksa tahun kabisat
if(listObj%4==0):
kembali Benar
lain:
kembali Salah
#menggunakan fungsi filter untuk memfilter iterable melalui list_func
lompatan_tahun= filter(daftar_fungsi,daftar_saya)
#mencetak iterator baru
untuk saya di tahun kabisat:
cetak (i)
Keluaran
Output menampilkan tahun kabisat dari daftar tahun yang diberikan.
Contoh 5: menggunakan fungsi lambda dengan filter()
Fungsi filter sebagian besar digunakan dengan fungsi lambda. Mari lewati fungsi lambda sebagai argumen ke fungsi filter().
#membuat daftar nomormy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#mendeklarasikan variabel bilangan genap
Variabel #even_number berisi bilangan genap
#menggunakan fungsi lambda
even_number = filter(daftar lambdaObj:listObj%2==0,daftar_saya)
print("Daftar bilangan genap")
untuk saya di genap_number:
cetak (i)
lompatan_tahun = filter(daftar lambdaObj:listObj%4==0,daftar_saya)
print("Daftar tahun kabisat")
untuk x di tahun_kabisat:
cetak (x)
Keluaran
Kesimpulan
Filter() adalah fungsi bawaan Python yang digunakan untuk memfilter iterable pada fungsi yang diberikan. Artikel ini menjelaskan fungsi filter() dengan contoh.