Dalam dunia pengaturcaraan dan manipulasi data, Python menonjol sebagai bahasa yang serba boleh dan berkuasa. Salah satu daripada banyak ciri bergunanya ialahpenapis()fungsi, yang boleh menjadi permainan - penukar apabila ia datang kepada pemprosesan data. Sebagai pembekal penapis, saya telah melihat bagaimana konsep penapisan adalah penting bukan sahaja dalam produk dunia sebenar yang kami tawarkan, sepertiPenapis Penulen Air PusatdanPra - penapis, tetapi juga dalam bidang pengaturcaraan digital.
Memahami Asas-asaspenapis()Fungsi
Thepenapis()fungsi dalam Python ialah fungsi terbina dalam yang membolehkan anda mencipta iterable baharu (seperti senarai, tuple atau set) dengan menapis elemen daripada iterable sedia ada berdasarkan syarat tertentu. Sintaks asas bagipenapis()fungsi adalah seperti berikut:
penapis (fungsi, boleh diubah)
Di sini, yangfungsiialah objek boleh panggil yang mengambil satu hujah dan mengembalikan nilai boolean (betulataupalsu). Theboleh lelaranialah sebarang objek Python yang boleh dilingkarkan, seperti senarai, tuple atau rentetan.
Mari kita mulakan dengan contoh mudah. Katakan kita mempunyai senarai nombor dan kita ingin menapis semua nombor genap.
nombor = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Takrifkan fungsi untuk menyemak sama ada nombor ganjil def is_odd(nombor): return num % 2 != 0 # Gunakan filter() function filtered_numbers = filter(is_odd, numbers) # Tukar = senarai_nombor) tersenarai
Dalam contoh ini,adalah_ganjilfungsi digunakan sebagai keadaan penapisan. Thepenapis()fungsi berulang ke atas setiap elemen dalamnomborsenarai, terpakaiadalah_ganjilberfungsi kepadanya, dan hanya menyimpan elemen yang fungsi itu kembalibetul. Akhirnya, kami menukar hasil daripadapenapis()ke senarai dan mencetaknya.
Menggunakan Fungsi Lambda denganpenapis()
Dalam kebanyakan kes, keadaan penapisan adalah mudah dan boleh ditakrifkan menggunakan fungsi lambda. Fungsi lambda ialah fungsi tanpa nama dalam Python, yang bermaksud ia tidak memerlukan nama. Ia boleh ditakrifkan dalam satu baris dan sering digunakan untuk fungsi jangka pendek.
Mari kita tulis semula contoh sebelumnya menggunakan fungsi lambda:
nombor = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] nombor_penapis = penapis(lambda x: x % 2 != 0, nombor) hasil = senarai(nombor_tapis) cetakan(hasil)
Fungsi lambdalambda x: x % 2 != 0mengambil satu hujahxdan pulanganbetuljikaxadalah ganjil danpalsusebaliknya. Ini menjadikan kod lebih ringkas, terutamanya untuk keadaan penapisan mudah.
Menapis Pelbagai Jenis Iterables
Thepenapis()fungsi boleh digunakan dengan pelbagai jenis iterables. Sebagai contoh, mari kita pertimbangkan satu tuple rentetan dan tapis semua rentetan yang mempunyai panjang kurang daripada 5.
perkataan = ('epal', 'larangan', 'ceri', 'tarikh', 'orang tua') filtered_words = filter(perkataan lambda: len(perkataan) >= 5, perkataan) hasil = tuple(filtered_words) print(hasil)
Dalam kes ini, kami menggunakan fungsi lambda untuk menyemak panjang setiap rentetan dalam tupel. Thepenapis()fungsi kemudian mencipta tuple baharu dengan hanya rentetan yang memenuhi syarat.
Penapisan Kamus
Walaupunpenapis()fungsi direka bentuk untuk berfungsi dengan iterables, kita boleh menggunakannya untuk menapis kamus juga. Walau bagaimanapun, kita perlu menjadi lebih kreatif. Katakan kita mempunyai kamus yang kuncinya adalah nama dan nilainya ialah umur, dan kami ingin menapis semua orang yang berumur di bawah 18 tahun.
orang = {'Alice': 20, 'Bob': 15, 'Charlie': 22, 'David': 17} filtered_people = dict(filter(lambda item: item[1] >= 18, people.items())) print(filtered_people)
Di sini, kami menggunakanitem()kaedah kamus untuk mendapatkan pasangan nilai kunci yang boleh diubah. Fungsi lambda mengambil setiap pasangan kunci - nilai (diwakili sebagai tuple) dan menyemak sama ada nilai (umur) lebih besar daripada atau sama dengan 18. Akhir sekali, kami menukar hasilnya kepada kamus.


Aplikasi Sebenar - Dunia dan Selari dengan Penapis Fizikal
Di dunia nyata, sebagai pembekal penapis, kami memahami kepentingan penapisan. ThePenapis Penulen Air Pusatdireka untuk membuang kekotoran daripada bekalan air, memastikan air yang kami gunakan di rumah dan industri kami adalah bersih dan selamat. Begitu juga denganPra - penapisdigunakan untuk menangkap zarah yang lebih besar sebelum proses penapisan utama, melindungi penapis hiliran yang lebih sensitif dan mahal.
Dalam pengaturcaraan,penapis()fungsi memainkan peranan yang sama. Ia membantu kami membersihkan dan memperhalusi data kami, mengalih keluar elemen yang tidak diingini dan hanya meninggalkan data yang memenuhi kriteria khusus kami. Contohnya, dalam projek analisis data, kami mungkin mempunyai set data yang besar dengan banyak rekod, tetapi kami hanya berminat dengan subset rekod yang memenuhi syarat tertentu. Thepenapis()fungsi boleh mengekstrak subset ini dengan cepat dan cekap, sama seperti penapis fizikal menghapuskan kekotoran daripada cecair.
Mengoptimumkan Penggunaanpenapis()
Apabila menggunakanpenapis()fungsi, terdapat beberapa perkara yang perlu diingat untuk mengoptimumkan prestasinya. Pertama, jika anda bekerja dengan lelaran yang besar, pertimbangkan untuk menggunakan penjana dan bukannya menukar hasilnya kepada senarai dengan serta-merta. Thepenapis()fungsi mengembalikan iterator, jadi anda boleh menggelungkannya terus tanpa menggunakan sejumlah besar memori sekaligus.
large_numbers = julat(1000000) odd_numbers = penapis(lambda x: x % 2 != 0, large_numbers) # Gelung pada iterator tanpa menukar kepada senarai untuk nombor dalam nombor_ganjil: print(num)
Petua pengoptimuman lain ialah menggunakan fungsi penapisan yang paling sesuai. Jika keadaan penapisan adalah rumit, mungkin lebih baik untuk menentukan fungsi biasa dan bukannya fungsi lambda untuk kebolehbacaan dan kebolehselenggaraan yang lebih baik.
Kesimpulan
Thepenapis()fungsi dalam Python ialah alat yang berkuasa dan fleksibel untuk manipulasi data. Sama ada anda sedang mengusahakan skrip kecil atau projek analisis data berskala besar, ini boleh membantu anda menapis data yang tidak diingini dengan cekap dan menumpukan pada maklumat yang penting. Sama seperti penapis fizikal kita, sepertiPenapis Penulen Air PusatdanPra - penapis, adalah penting untuk memastikan kualiti air, yangpenapis()fungsi adalah penting untuk mengekalkan kualiti data anda.
Jika anda berminat dengan produk penapis berkualiti tinggi kami atau mempunyai sebarang pertanyaan tentang cara menggunakan penapispenapis()berfungsi dalam projek pengaturcaraan anda, kami menggalakkan anda untuk menghubungi perbincangan perolehan. Pasukan pakar kami sedia membantu anda dalam mencari penyelesaian terbaik untuk keperluan anda.
Rujukan
- Dokumentasi rasmi Python pada fungsi terbina dalam
- "Python Crash Course" oleh Eric Matthes





