Python Lambdas
- 4600
- 302
- Noah Torp
Pengenalan
Anda telah bekerja dengan kedua -dua fungsi dan kaedah, tetapi ada jenis fungsi yang berbeza, fungsi tanpa nama. Fungsi Tanpa Nama hanya berfungsi tanpa nama, dan di Python, mereka ditangani dengan operator Lambda.
Fungsi tanpa nama membolehkan anda menggunakan tingkah laku fungsi tanpa perlu membuat fungsi. Ini sangat baik apabila anda hanya perlu menggunakan fungsi sekali atau dua kali. Ia mungkin terdengar seperti kejadian yang tidak biasa, tetapi ia berlaku agak kerap apabila fungsi atau kaedah mengambil fungsi sebagai parameter.
Lambdas
Operator Lambda mempunyai beberapa bahagian asas. Ia terdiri daripada Lambda
, senarai parameter, dan operasi. Operasi ini dipisahkan dari dua yang lain dengan kolon. Lihat contoh ini.
Foo = Lambda A = 2, B = 1: A / B Print (Foo) Print (Foo (16, 4))
Sekiranya anda menggunakan lambdas dalam kapasiti mandiri, anda boleh menetapkannya sama dengan pemboleh ubah. Dalam bentuk ini, mereka tidak begitu serba boleh, tetapi mereka masih boleh memainkan peranan dalam mewujudkan fungsi dengan cepat.
Lambdas benar -benar mencari penggunaannya dalam dihantar ke fungsi lain. Lihat bagaimana ia berfungsi dalam contoh di bawah.
def do_something (fungsi, list_a, list_b): untuk x dalam list_a: untuk y dalam list_b: fungsi (x, y) do_something (lambda x, y: cetak (x*y), [1, 3, 5], [2 , 4, 6])
Sudah tentu, contoh ini bukan semua yang praktikal. Ia menggambarkan titik, walaupun. Anda boleh membuat lambda dalam panggilan fungsi untuk menyampaikannya sebagai hujah kepada fungsi lain.
Peta
The peta ()
fungsi adalah yang menarik. Ia membolehkan anda meleleh secara serentak lebih dari satu atau lebih senarai dan menyerahkannya kepada fungsi. Sangat mudah untuk fungsi itu menjadi ungkapan lambda.
Contoh ini dapat membantu menjelaskan.
cetak (senarai (peta (lambda x, y: x * y, [1, 2, 3, 4, 5], [2, 4, 6, 8, 10])))
Yang kelihatan seperti kekacauan, jadi lebih baik untuk memecahkannya. Bahagian utama bermula dengan peta
. Ia memerlukan sekurang -kurangnya dua hujah, fungsi dan senarai. Ia boleh mengambil pelbagai senarai, dan kali ini terdapat dua. Ia juga mengambil ungkapan lambda yang menerima dua argumen dan mengadili mereka bersama.
Fungsi peta berjalan melalui senarai tersebut. Ia menetapkan setiap elemen dalam senarai pertama dalam hujah pertama fungsi dan setiap elemen dalam senarai kedua dalam hujah fungsi kedua. Ia menjalankan fungsi setiap kali. The peta ()
fungsi mengembalikan objek peta.
Objek peta itu perlu ditukar menjadi bentuk yang lebih boleh digunakan. The senarai ()
fungsi mengubah objek menjadi senarai biasa. Kemudian, Cetak ()
mencetak senarai itu.
Lihatlah yang lain.
cetak (senarai (peta (lambda x: x*2, [1, 2, 3, 4, 5])))
Contoh yang lebih mudah mungkin lebih mudah diikuti.
Penapis
The penapis ()
fungsi adalah fungsi lain yang serupa dengan peta ()
. Ia memerlukan fungsi dan senarai sebagai argumen dan berulang di atas senarai, menjalankan unsur -unsur melalui fungsi.
Bukan hanya menjalankan fungsi, penapis ()
menggunakan fungsi sebagai syarat ujian untuk unsur -unsur dalam senarai. Objek yang dicipta mengandungi semua elemen di mana keadaan dinilai "benar."
cetak (senarai (penapis (lambda x: x> 5, [2, 4, 6, 8])))
Senarai yang dihasilkan hanya mengandungi 6 dan 8 kerana mereka adalah dua syarat di mana keadaan yang diberikan dalam fungsi dinilai "Benar." penapis ()
, Apabila digunakan bersempena dengan ekspresi lambda, adalah cara yang efisien untuk menyusun dan menguji senarai terhadap keadaan.
Pemikiran penutupan
Lambdas bukan topik paling popular di Python. Ramai pemaju tidak menyukainya. Malah Pencipta Python bukan peminat.
Sekiranya anda menyukai mereka, hebat. Sekiranya tidak, jangan risau. Terdapat alternatif yang akan dibincangkan dalam panduan kemudian.
Buat masa ini, hanya penting untuk menyedari Lambdas dan bagaimana mereka bekerja. Anda akan menemui mereka dari semasa ke semasa, dan mereka boleh menjadi penyelesaian yang paling mudah.
Latihan
- Buat ungkapan lambda yang melipatgandakan dua nombor dan tetapkannya sama dengan pemboleh ubah.
- Gunakan pemboleh ubah itu untuk memanggil lambda dan lulus dua nombor.
- Tulis fungsi yang memerlukan fungsi sebagai parameter. Panggil fungsi itu dengan dan lulus lambda.
- Menggunakan
peta ()
berfungsi bersama dengan lambda untuk menambah setiap elemen dalam dua senarai. - Menggunakan
penapis ()
berfungsi bersama dengan lambda untuk menguji jika setiap elemen dalam senarai adalah ganjil.
Tutorial Linux Berkaitan:
- Perkara yang hendak dipasang di Ubuntu 20.04
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- Sistem Hung Linux? Cara melarikan diri ke baris arahan dan ..
- Ubuntu 20.04 Panduan
- Perkara yang perlu dipasang di Ubuntu 22.04
- Menguasai Gelung Skrip Bash
- Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
- Cara Menggunakan Adb Android Debug Bridge untuk Mengurus Android Anda ..
- « Skrip perl untuk mendapatkan alamat IP luaran
- Cara membuat dan memanipulasi arkib tar menggunakan python »