Python Lambdas
- 913
- 38
- Miss Angelo Toy
Perkenalan
Anda telah bekerja dengan kedua fungsi dan metode, tetapi ada jenis fungsi yang berbeda, fungsi anonim. Fungsi anonim hanyalah fungsi tanpa nama, dan di Python, mereka ditangani dengan operator lambda.
Fungsi anonim memungkinkan Anda menggunakan perilaku fungsi tanpa harus membuat fungsi. Ini sangat bagus ketika Anda hanya perlu menggunakan fungsi sekali atau dua kali. Ini mungkin terdengar seperti kejadian yang tidak biasa, tetapi itu terjadi cukup sering ketika fungsi atau metode mengambil fungsi sebagai parameter.
Lambdas
Operator Lambda memiliki beberapa bagian dasar. Terdiri dari Lambda
, daftar parameter, dan operasi. Operasi dipisahkan dari dua lainnya dengan usus besar. Lihat contoh ini.
foo = lambda a = 2, b = 1: cetak a / b print (foo) (foo (16, 4))
Jika Anda menggunakan lambdas dalam kapasitas mandiri, Anda dapat mengaturnya sama dengan variabel. Dalam bentuk ini, mereka tidak begitu fleksibel, tetapi mereka masih bisa memainkan peran dalam menciptakan fungsi dengan cepat.
Lambdas benar -benar menemukan penggunaannya untuk diteruskan ke fungsi lain. Lihat cara kerjanya dalam contoh di bawah ini.
def do_something (fungsi, list_a, list_b): untuk x di list_a: untuk y di list_b: function (x, y) do_something (lambda x, y: print (x*y), [1, 3, 5], [2 , 4, 6])
Tentu saja, contoh ini tidak terlalu praktis. Itu menggambarkan intinya. Anda dapat membuat lambda dalam panggilan fungsi untuk meneruskannya sebagai argumen ke fungsi lain.
Peta
Itu peta()
Fungsi yang menarik. Ini memungkinkan Anda untuk mengulang secara bersamaan dengan satu atau lebih daftar dan meneruskannya ke suatu fungsi. Sangat mudah bagi fungsi itu menjadi ekspresi lambda.
Contoh ini dapat membantu memperjelas.
Cetak (daftar (peta (lambda x, y: x * y, [1, 2, 3, 4, 5], [2, 4, 6, 8, 10]))))
Itu terlihat seperti kekacauan, jadi yang terbaik adalah memecahnya. Potongan utama dimulai dengan peta
. Dibutuhkan setidaknya dua argumen, fungsi dan daftar. Namun, ini dapat mengambil beberapa daftar, dan kali ini ada dua. Ini juga membutuhkan ekspresi lambda yang menerima dua argumen dan melipatgandakannya bersama -sama.
Fungsi peta berjalan melalui daftar tersebut. Ini menetapkan setiap elemen dalam daftar pertama dalam argumen pertama fungsi dan setiap elemen dalam daftar kedua dalam argumen fungsi kedua. Itu menjalankan fungsi setiap kali. Itu peta()
Fungsi Mengembalikan Objek Peta.
Objek peta itu perlu dikonversi menjadi bentuk yang lebih bermanfaat. Itu daftar()
Fungsi mengubah objek menjadi daftar reguler. Kemudian, mencetak()
mencetak daftar itu.
Lihatlah yang lain.
Print (daftar (peta (lambda x: x*2, [1, 2, 3, 4, 5])))))
Contoh yang lebih sederhana mungkin lebih mudah diikuti.
Saring
Itu Saring()
Fungsi adalah fungsi lain yang mirip dengan peta()
. Dibutuhkan fungsi dan daftar sebagai argumen dan mengulangi daftar, menjalankan elemen melalui fungsi.
Bukan hanya menjalankan fungsi, Saring()
menggunakan fungsi sebagai kondisi pengujian untuk elemen dalam daftar. Objek yang diciptakannya berisi semua elemen di mana kondisi dievaluasi “benar."
Print (daftar (filter (lambda x: x> 5, [2, 4, 6, 8]))))
Daftar yang dihasilkan hanya berisi 6 dan 8 karena itu adalah dua kondisi di mana kondisi yang diberikan dalam fungsi dievaluasi “benar." Saring()
, Saat digunakan bersama dengan ekspresi lambda, adalah cara yang efisien untuk memilah dan menguji daftar terhadap suatu kondisi.
Menutup pikiran
Lambdas bukan topik paling populer di Python. Banyak pengembang bahkan tidak menyukai mereka. Bahkan pencipta Python bukanlah penggemar.
Jika Anda menyukainya, bagus. Jika tidak, jangan khawatir. Ada alternatif yang akan dibahas dalam pemandu selanjutnya.
Untuk saat ini, penting untuk menyadari lambdas dan cara kerjanya. Anda akan bertemu mereka dari waktu ke waktu, dan mereka bisa menjadi solusi termudah.
Latihan
- Buat ekspresi lambda yang melipatgandakan dua angka dan atur sama dengan variabel.
- Gunakan variabel itu untuk menghubungi lambda dan meneruskannya dua angka.
- Tulis fungsi yang mengambil fungsi sebagai parameter. Panggil fungsi itu dengan dan lewati lambda.
- Menggunakan
peta()
Fungsi bersama dengan lambda untuk menambahkan setiap elemen dalam dua daftar. - Menggunakan
Saring()
Fungsi bersama dengan lambda untuk menguji apakah setiap elemen dalam daftar itu aneh.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
- Ubuntu 20.04 Panduan
- Hal -hal yang harus diinstal pada Ubuntu 22.04
- Menguasai loop skrip bash
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
- Cara menggunakan ADB Android Debug Bridge untuk mengelola Android Anda…
- « Skrip Perl untuk mengambil alamat IP eksternal
- Cara membuat dan memanipulasi arsip tar menggunakan python »