Penapis adalah fungsi Python terbina dalam. Ia menyaring urutan yang ditentukan atau berulang melalui fungsi yang memeriksa setiap item atau elemen dalam lelaran itu benar atau salah. Sederhananya, fungsi penapis menyaring berulang melalui fungsi. Fungsi yang diberikan menguji setiap item urutan atau berulang dan mengembalikan yang benar jika item tersebut memenuhi kriteria yang diberikan. Hasilnya, fungsi filter () membina iterator baru. Iterable yang paling biasa digunakan ialah senarai, tupel, dan kamus. Artikel ini menerangkan secara ringkas fungsi filter () dengan bantuan contoh.
Sintaks fungsi penapis ()
Mari kita bincangkan sintaks fungsi penapis () terlebih dahulu. Sintaks fungsi filter () adalah seperti berikut:
filet (fungsi, berulang atau urutan)Fungsi penapis mengambil dua parameter sebagai argumen, i.e., berfungsi dan berulang. Fungsi memeriksa setiap elemen atau item berulang, sama ada benar atau tidak, mengikut kriteria yang diberikan. Argumen kedua adalah berulang atau urutan untuk disaring. Fungsi menilai setiap item berulang berdasarkan kriteria yang diberikan. Akhirnya, fungsi filter () mengembalikan iterator yang ditapis.
Mari lihat contoh fungsi filter () dan terapkan dalam skrip Python kami. Kami menggunakan editor spyder3 untuk membuat dan menjalankan skrip Python.
Contoh 1: Tapis senarai nombor
Mari buat senarai nombor dan tapiskan. Dalam contoh yang diberikan, list_func () menilai setiap item senarai pada keadaan tertentu. Sekiranya item senarai lebih besar daripada 5, fungsi akan kembali benar dan menambahkan item ke penapis.
#membuat senarai nombormy_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#membuat fungsi
def list_func (listObj):
# pernyataan bersyarat untuk memeriksa nombor
jika (listObj> 5):
kembali Benar
lain:
kembali Palsu
#menggunakan fungsi penapis untuk menyaring berulang melalui list_func
angka = penapis (list_func, my_list)
# mencetak iterator baru
untuk i dalam nombor:
mencetak (i)
Pengeluaran
Keluaran memaparkan iterator yang ditapis. Iterator yang disaring dibina oleh semua item yang lebih besar daripada 5.
Contoh 2: Tapis senarai watak
Mari buat senarai watak dan terapkan fungsi penapis.
#membuat senarai nombormy_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 watak
jika (listObj dalam word_list):
kembali Benar
lain:
kembali Palsu
#menggunakan fungsi penapis untuk menyaring berulang melalui list_func
perkataan = penapis (list_func, my_list)
# mencetak iterator baru
untuk i dalam perkataan:
mencetak (i)
Pengeluaran
Contoh 3: Tapis nombor genap
Mari tapis nombor genap dari senarai nombor yang diberikan menggunakan fungsi penapis.
#membuat senarai nombormy_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 nombor genap
jika (listObj% 2 == 0):
kembali Benar
lain:
kembali Palsu
#menggunakan fungsi penapis untuk menyaring berulang melalui list_func
genap_nombor = penapis (list_func, my_list)
# mencetak iterator baru
untuk i dalam nombor genap:
mencetak (i)
Pengeluaran
Contoh 4: Tapis tahun lompat
Mari saring tahun lompatan dari senarai tahun yang diberikan menggunakan fungsi penapis.
#membuat senarai nombormy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#membuat fungsi
def list_func (listObj):
# pernyataan bersyarat untuk memeriksa tahun lompat
jika (listObj% 4 == 0):
kembali Benar
lain:
kembali Palsu
#menggunakan fungsi penapis untuk menyaring berulang melalui list_func
leap_year = penapis (list_func, my_list)
# mencetak iterator baru
untuk i dalam lompat_tahun:
mencetak (i)
Pengeluaran
Hasilnya menunjukkan tahun lompatan dari senarai tahun yang diberikan.
Contoh 5: menggunakan fungsi lambda dengan penapis ()
Fungsi penapis kebanyakannya digunakan dengan fungsi lambda. Mari lulus fungsi lambda sebagai argumen untuk menyaring fungsi ().
#membuat senarai nombormy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#mengelaskan pembolehubah nombor genap
Pembolehubah #even_number mengandungi nombor genap
#menggunakan fungsi lambda
genap_nombor = penapis (lambda listObj: listObj% 2 == 0, my_list)
cetak ("Senarai nombor genap")
untuk saya dalam nombor genap:
mencetak (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, my_list)
cetak ("Senarai tahun lompat")
untuk x dalam lompat_tahun:
cetak (x)
Pengeluaran
Kesimpulannya
Penapis () adalah fungsi bawaan Python yang digunakan untuk menyaring berulang pada fungsi tertentu. Artikel ini menerangkan fungsi filter () dengan contoh.