Apa Fungsi Lambda dan Bagaimana Menggunakannya?



Pelajari fungsi lambda Python bersama dengan perbedaan antara fungsi normal dan fungsi lambda dan bagaimana mereka dapat digunakan di filter (), map (), reduce ().

Nama adalah konvensi yang digunakan untuk merujuk ke atau menangani entitas apa pun. Hampir semua yang ada di sekitar kita punya nama. Dunia pemrograman juga berjalan sesuai dengan ini. Tetapi apakah harus menyebutkan semuanya? Atau dapatkah Anda memiliki sesuatu yang hanya 'anonim'? Jawabannya iya. ' menyediakan Fungsi Lambda, juga dikenal sebagai fungsi Anonim yang sebenarnya tidak bernama. Jadi mari kita lanjutkan untuk mempelajari tentang 'Misteri Anonim' Python ini, dalam urutan berikut.

Jadi mari kita mulai :)





Mengapa menggunakan Python Lambda Functions?


Tujuan utama dari fungsi anonim muncul saat Anda membutuhkan suatu fungsi hanya sekali. Mereka dapat dibuat di mana pun mereka dibutuhkan. Karena alasan ini, Fungsi Lambda Python juga dikenal sebagai fungsi membuang yang digunakan bersama dengan fungsi standar lainnya seperti filter (), map (), dll. Fungsi ini membantu mengurangi jumlah baris kode Anda jika dibandingkan dengan normal .

Untuk membuktikannya, mari kita lanjutkan dan pelajari tentang fungsi Python Lambda.



Apa itu Fungsi Python Lambda?


Fungsi Python Lambda adalah fungsi yang tidak memiliki nama apa pun. Mereka juga dikenal sebagai fungsi anonim atau tanpa nama. Kata 'lambda' bukanlah sebuah nama, tapi sebuah kata kunci. Kata kunci ini menetapkan bahwa fungsi berikutnya adalah anonim.

Sekarang setelah Anda mengetahui apa yang dimaksud dengan fungsi anonim ini, mari kita melangkah lebih jauh untuk melihat bagaimana Anda menulis fungsi Python Lambda ini.

Bagaimana cara menulis Fungsi Lambda dengan Python?

Fungsi Lambda dibuat menggunakan operator lambda dan sintaksnya adalah sebagai berikut:



SINTAKSIS:

argumen lambda: ekspresi

Python fungsi lambda dapat memiliki sejumlah argumen tetapi hanya dibutuhkan satu ekspresi. Input atau argumen dapat dimulai dari 0 dan naik ke batas berapa pun. Sama seperti fungsi lainnya, tidak masalah untuk memiliki fungsi lambda tanpa masukan. Oleh karena itu, Anda dapat memiliki fungsi lambda dalam salah satu format berikut:

CONTOH:

lambda: 'Tentukan tujuan'

Di sini, fungsi lambda tidak mengambil argumen apa pun.

CONTOH:

lambda asatu: “Tentukan penggunaan asatu'

Di sini, lambda mengambil satu input yaitu asatu.

substring dalam contoh server sql

Demikian pula, Anda dapat memiliki lambda asatu, untuk2, untuk3..untukn.

Mari kita ambil beberapa contoh untuk menunjukkan ini:

CONTOH 1:

a = lambda x: x * x cetak (a (3))

KELUARAN: 9

CONTOH 2:

a = lambda x, y: x * y cetak (a (3,7))

KELUARAN: dua puluh satu

Seperti yang Anda lihat, saya telah mengambil dua contoh di sini. Contoh pertama menggunakan fungsi lambda hanya dengan satu ekspresi sedangkan contoh kedua memiliki dua argumen yang diteruskan padanya. Harap dicatat bahwa kedua fungsi memiliki ekspresi tunggal yang diikuti dengan argumen. Oleh karena itu, fungsi lambda tidak dapat digunakan jika Anda memerlukan ekspresi multi-baris.

Di sisi lain, fungsi python normal dapat mengambil sejumlah pernyataan dalam definisi fungsinya.

Bagaimana fungsi Anonymous mengurangi ukuran kode?

Sebelum membandingkan jumlah kode yang diperlukan, pertama-tama mari kita tuliskan sintaks dari dan bandingkan dengan fungsi lambda yang dijelaskan sebelumnya.

Fungsi normal apa pun dalam Python didefinisikan menggunakan file def kata kunci sebagai berikut:

SINTAKSIS:

def function_name (parameter):
pernyataan

Seperti yang Anda lihat, jumlah kode yang diperlukan untuk fungsi lambda lebih sedikit daripada fungsi normal.

Mari kita tulis ulang contoh yang kita ambil sebelumnya menggunakan fungsi normal sekarang.

CONTOH:

def my_func (x): return x * x print (fungsi_saya (3))

KELUARAN: 9

Seperti yang Anda lihat, pada contoh di atas, kita memerlukan pernyataan return dalam my_func untuk mengevaluasi nilai kuadrat 3. Sebaliknya, fungsi lambda tidak menggunakan pernyataan return ini, tetapi tubuh dari fungsi anonim ditulis di baris yang sama dengan fungsi itu sendiri, setelah simbol titik dua. Oleh karena itu ukuran fungsinya lebih kecil dari my_func.

Namun, fungsi lambda dalam contoh di atas, dipanggil menggunakan yang lain Sebuah. Ini dilakukan karena fungsi ini tidak bernama dan oleh karena itu memerlukan beberapa nama untuk dipanggil. Tapi, fakta ini mungkin tampak membingungkan mengapa menggunakan fungsi tanpa nama saat Anda benar-benar perlu menetapkan nama lain untuk memanggilnya? Dan tentu saja, setelah menugaskan nama a ke fungsi saya, nama itu tidak lagi tanpa nama! Baik?

Ini adalah pertanyaan yang sah, tetapi intinya adalah, ini bukan cara yang tepat untuk menggunakan fungsi anonim ini.

Fungsi anonim paling baik digunakan di dalam yang lain fungsi tingkat tinggi yang menggunakan beberapa fungsi sebagai argumen atau, mengembalikan fungsi sebagai output. Untuk mendemonstrasikan hal ini, mari kita lanjutkan ke topik berikutnya.

Fungsi Python Lambda dalam fungsi yang ditentukan pengguna:

Seperti disebutkan di atas, fungsi lambda digunakan dalam fungsi lain untuk menandai keunggulan terbaik.

Contoh berikut terdiri dari new_func yang merupakan fungsi python normal yang mengambil satu argumen x. Argumen ini kemudian ditambahkan ke beberapa argumen y yang tidak diketahui yang disediakan melalui fungsi lambda.

CONTOH:

def new_func (x): return (lambda y: x + y) t = new_func (3) u = new_func (2) print (t (3)) print (u (3))

KELUARAN:

6
5
Seperti yang Anda lihat, pada contoh di atas, fungsi lambda yang ada dalam new_func dipanggil setiap kali kita menggunakan new_func (). Setiap kali, kita bisa memberikan nilai terpisah ke argumen.

Sekarang Anda telah melihat bagaimana menggunakan fungsi anonim dalam fungsi tingkat tinggi, sekarang mari kita lanjutkan untuk memahami salah satu penggunaannya yang paling populer yaitu dalam metode filter (), map (), dan reduce ().

Cara menggunakan fungsi Anonymous dalam filter (), map () dan reduce ():

Fungsi anonim di dalamnya Saring():

Saring():

Metode filter () digunakan untuk memfilter iterabel yang diberikan (daftar, set, dll) dengan bantuan fungsi lain, diteruskan sebagai argumen, untuk menguji semua elemen menjadi benar atau salah.

model view controller contoh java

Sintaks dari fungsi ini adalah:

SINTAKSIS:

filter (fungsi, iterable)

Sekarang perhatikan contoh berikut:

CONTOH:

my_list = [2,3,4,5,6,7,8] new_list = list (filter (lambda a: (a / 3 == 2), my_list)) print (new_list)

KELUARAN: [6]

Di sini, my_list adalah daftar nilai yang dapat diulang yang diteruskan ke fungsi filter. Fungsi ini menggunakan fungsi lambda untuk memeriksa apakah ada nilai dalam daftar, yang akan sama dengan 2 bila dibagi 3. Keluarannya terdiri dari daftar yang memenuhi ekspresi yang ada dalam fungsi anonim.

peta():

Fungsi map () dalam Python adalah fungsi yang menerapkan fungsi yang diberikan ke semua iterable dan mengembalikan daftar baru.

SINTAKSIS:

peta (fungsi, iterable)

Mari kita ambil contoh untuk mendemonstrasikan penggunaan fungsi lambda dalam fungsi map ():

CONTOH:

daftar_saya = [2,3,4,5,6,7,8] daftar_baru = daftar (peta (lambda a: (a / 3! = 2), li)) cetak (daftar_baru)

KELUARAN:

parse file xml di java

[Benar, Benar, Benar, Benar, Salah, Benar, Benar]

Output di atas menunjukkan bahwa, setiap kali nilai iterable tidak sama dengan 2 ketika dibagi 3, hasil yang dikembalikan harus True. Oleh karena itu, untuk semua elemen di my_list, ini mengembalikan nilai true kecuali untuk nilai 6 saat kondisi berubah menjadi False.

mengurangi():

Fungsi reduce () digunakan untuk menerapkan beberapa fungsi lain ke daftar elemen yang diteruskan sebagai parameter ke sana dan akhirnya mengembalikan satu nilai.

Sintaks dari fungsi ini adalah sebagai berikut:

SINTAKSIS:

mengurangi (fungsi, urutan)

CONTOH:

dari functools import mengurangi pengurangan (lambda a, b: a + b, [23,21,45,98])

Contoh di atas digambarkan pada gambar berikut:

mengurangi-python lambda-edureka.dll

KELUARAN: 187

Outputnya dengan jelas menunjukkan bahwa semua elemen dari list tersebut adalah ditambahkan terus menerus untuk mengembalikan hasil akhir.

Dengan ini, kita sampai pada akhir artikel ini tentang 'Python Lambda'. Semoga Anda jelas dengan semua yang telah dibagikan dengan Anda. Pastikan Anda berlatih sebanyak mungkin dan mengembalikan pengalaman Anda.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'Python Lambda' ini dan kami akan menghubungi Anda kembali secepatnya.

Untuk mendapatkan pengetahuan mendalam tentang Python beserta berbagai aplikasinya, Anda dapat mendaftar secara langsung dengan dukungan 24/7 dan akses seumur hidup.