Fungsi Python Lambda adalah fungsi anonim artinya fungsi tersebut tanpa nama. Seperti yang sudah kita ketahui bahwa kata kunci def digunakan untuk mendefinisikan fungsi normal di Python. Demikian pula, kata kunci lambda digunakan untuk mendefinisikan fungsi anonim di Python. Show
Sintaks Fungsi Python Lambda
Contoh Fungsi Python LambdaPython3Int formatting: 1.000000e+06 float formatting: 999,999.792 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.794
Int formatting: 1.000000e+06 float formatting: 999,999.795 Int formatting: 1.000000e+06 float formatting: 999,999.796 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 Int formatting: 1.000000e+06 float formatting: 999,999.799 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1254 Keluaran SKEEGROFSKEEG Penjelasan. Dalam contoh di atas, kami mendefinisikan fungsi lambda (rev_upper) untuk mengonversi string menjadi huruf besar dan membalikkannya Penggunaan Fungsi Lambda dengan PythonContoh 1. Pengecekan Kondisi Menggunakan fungsi lambda PythonPython3Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1255 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 ________8______8 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1258_______9 10 20 30 400 10 20 30 401 10 20 30 402 10 20 30 403 10 20 30 404 10 20 30 40_5 ___________9
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 20 21 22 23 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 26 21 28 23 Keluaran Int formatting: 1.000000e+06 float formatting: 999,999.79 Contoh 2. Perbedaan Antara fungsi Lambda dan fungsi yang ditentukanPython3[3, 16, 9]0 [3, 16, 9]1 [3, 16, 9]2 [3, 16, 9]3 [3, 16, 9]4 [3, 16, 9]5 [3, 16, 9]4 [3, 16, 9]5 [3, 16, 9]4
________40______9 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 [5, 7, 97, 77, 23, 73, 61]2 [3, 16, 9]5 [3, 16, 9]4 [3, 16, 9]5 [3, 16, 9]4
[5, 7, 97, 77, 23, 73, 61]_7 [5, 7, 97, 77, 23, 73, 61]_8 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 [90, 59, 21, 60]1 [90, 59, 21, 60]2 [90, 59, 21, 60]3 23
[90, 59, 21, 60]_5 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 [90, 59, 21, 60]8 [90, 59, 21, 60]9 [90, 59, 21, 60]3 23 Keluaran Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_ Seperti yang dapat kita lihat pada contoh di atas, fungsi cube() dan fungsi lambda_cube() berperilaku sama dan sebagaimana dimaksud. Mari kita menganalisis contoh di atas sedikit lebih banyak Dengan fungsi lambdaTanpa fungsi lambdaMendukung pernyataan baris tunggal yang mengembalikan beberapa nilai. Mendukung sejumlah baris di dalam blok fungsiBagus untuk melakukan operasi singkat/manipulasi data. Baik untuk kasus apa pun yang membutuhkan banyak baris kode. Menggunakan fungsi lambda terkadang dapat mengurangi keterbacaan kode. Kita dapat menggunakan komentar dan deskripsi fungsi agar mudah dibacaPenggunaan Praktis fungsi lambda PythonContoh 1. Fungsi Python Lambda dengan Pemahaman DaftarDalam contoh ini, kita akan menggunakan fungsi lambda dengan pemahaman daftar Python3[10, 14, 44, 194, 108, 124, 154, 46, 146, 122]2 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 Int formatting: 1.000000e+06 float formatting: 999,999.798 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]6 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]8 [3, 16, 9]____________________________________________________________________________________________________________________________.
Int formatting: 1.000000e+06 float formatting: 999,999.79_00 Int formatting: 1.000000e+06 float formatting: 999,999.79_01 ['DOG', 'CAT', 'PARROT', 'RABBIT']1 Int formatting: 1.000000e+06 float formatting: 999,999.7903 ['DOG', 'CAT', 'PARROT', 'RABBIT']3 Int formatting: 1.000000e+06 float formatting: 999,999.7905 [3, 16, 9]2 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 Int formatting: 1.000000e+06 float formatting: 999,999.7908 Keluaran 10 20 30 40 Penjelasan. Pada setiap iterasi di dalam pemahaman daftar, kami membuat fungsi lambda baru dengan argumen default x (di mana x adalah item saat ini dalam iterasi). Kemudian, di dalam for loop, kita memanggil objek fungsi yang sama dengan argumen default menggunakan item() dan mendapatkan nilai yang diinginkan. Jadi, is_even_list menyimpan daftar objek fungsi lambda Contoh 2. Fungsi Python Lambda dengan if-elseDi sini kita menggunakan fungsi Max lambda untuk menemukan maksimum dua bilangan bulat Python3Int formatting: 1.000000e+06 float formatting: 999,999.79_09 Int formatting: 1.000000e+06 float formatting: 999,999.7910 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 Int formatting: 1.000000e+06 float formatting: 999,999.7913 10 20 30 400 Int formatting: 1.000000e+06 float formatting: 999,999.7915 10 20 30 405 Int formatting: 1.000000e+06 float formatting: 999,999.7917
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 Int formatting: 1.000000e+06 float formatting: 999,999.7910 10 20 30 409 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7924 23 Keluaran 2 Contoh 3. Python Lambda dengan Banyak pernyataanFungsi Lambda tidak mengizinkan banyak pernyataan, namun, kita dapat membuat dua fungsi lambda dan kemudian memanggil fungsi lambda lainnya sebagai parameter ke fungsi pertama. Mari kita coba mencari elemen maksimum kedua menggunakan lambda Python3Int formatting: 1.000000e+06 float formatting: 999,999.7926 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.7928 Int formatting: 1.000000e+06 float formatting: 999,999.7924 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7931 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7933 Int formatting: 1.000000e+06 float formatting: 999,999.7934 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7933 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7939 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7941 Int formatting: 1.000000e+06 float formatting: 999,999.7934 Int formatting: 1.000000e+06 float formatting: 999,999.7931 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7945 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7947 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7949 Int formatting: 1.000000e+06 float formatting: 999,999.7950
Int formatting: 1.000000e+06 float formatting: 999,999.79_51 Int formatting: 1.000000e+06 float formatting: 999,999.7952 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 Int formatting: 1.000000e+06 float formatting: 999,999.7955 Int formatting: 1.000000e+06 float formatting: 999,999.7956 Int formatting: 1.000000e+06 float formatting: 999,999.7957 ['DOG', 'CAT', 'PARROT', 'RABBIT']1 Int formatting: 1.000000e+06 float formatting: 999,999.7959 ['DOG', 'CAT', 'PARROT', 'RABBIT']3 ________0______61
Int formatting: 1.000000e+06 float formatting: 999,999.79_62 Int formatting: 1.000000e+06 float formatting: 999,999.7963 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 Int formatting: 1.000000e+06 float formatting: 999,999.7966 Int formatting: 1.000000e+06 float formatting: 999,999.7967 Int formatting: 1.000000e+06 float formatting: 999,999.7968 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250 Int formatting: 1.000000e+06 float formatting: 999,999.7924 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252 ['DOG', 'CAT', 'PARROT', 'RABBIT']1 [3, 16, 9]4_______381 Int formatting: 1.000000e+06 float formatting: 999,999.7976 Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.7978 Int formatting: 1.000000e+06 float formatting: 999,999.7926________0______80
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 Int formatting: 1.000000e+06 float formatting: 999,999.7982 Keluaran [3, 16, 9] Penjelasan. Dalam contoh di atas, kami telah membuat fungsi lambda yang mengurutkan setiap sublist dari daftar yang diberikan. Kemudian daftar ini diteruskan sebagai parameter ke fungsi lambda kedua, yang mengembalikan elemen n-2 dari daftar terurut, di mana n adalah panjang sublist Fungsi Lambda dapat digunakan bersama dengan fungsi bawaan seperti filter(), map() dan reduce() Menggunakan fungsi lambda() dengan filter()Fungsi filter() di Python menggunakan fungsi dan daftar sebagai argumen. Ini menawarkan cara yang elegan untuk memfilter semua elemen urutan "urutan", yang mengembalikan fungsi True. Ini adalah program kecil yang mengembalikan angka ganjil dari daftar masukan. Contoh 1. Saring semua angka ganjil menggunakan fungsi filter() dan lambdaDi sini, lambda x. (x% 2. = 0) mengembalikan Benar atau Salah jika x tidak genap. Karena filter() hanya menyimpan elemen yang menghasilkan True, maka ia menghapus semua bilangan ganjil yang menghasilkan False PitonInt formatting: 1.000000e+06 float formatting: 999,999.7983 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 [90, 59, 21, 60]3 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7988 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7990 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7992 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7994 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7996 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7998 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12500 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12502 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12504 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12506 Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12508 10 20 30 409 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12510 10 20 30 409___________________8 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12513_______________14 _______________24 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125____166000_____14 ___________________24 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ untuk jelasanan. Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12521 Keluaran [5, 7, 97, 77, 23, 73, 61] Contoh 2. Filter semua orang yang berusia lebih dari 18 tahun, menggunakan fungsi lambda dan filter()Python3Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_22 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12523 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12526 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12528 ['DOG', 'CAT', 'PARROT', 'RABBIT']_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ E jelas
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12540 Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12508 10 20 30 409 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12510 10 20 30 409 Int formatting: 1.000000e+06 float formatting: 999,999.798 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12547 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12548________8______49
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12551 Keluaran [90, 59, 21, 60] Menggunakan fungsi lambda() dengan map()Fungsi map() di Python menggunakan fungsi dan daftar sebagai argumen. Fungsi dipanggil dengan fungsi lambda dan daftar dan daftar baru dikembalikan yang berisi semua item modifikasi lambda yang dikembalikan oleh fungsi tersebut untuk setiap item. Contoh. Contoh 1. Kalikan semua elemen daftar dengan 2 menggunakan fungsi lambda dan map()PitonUsing function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_52 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_53 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_54 Int formatting: 1.000000e+06 float formatting: 999,999.7983 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 [90, 59, 21, 60]3 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7988 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7990 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7992 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7994 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7996 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7998 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12500 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12502 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12504 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12506 Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12508 10 20 30 409 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12582 10 20 30 409 Int formatting: 1.000000e+06 float formatting: 999,999.798 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12585 [3, 16, 9]5 Int formatting: 1.000000e+06 float formatting: 999,999.7924________8______88 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12521 Keluaran [10, 14, 44, 194, 108, 124, 154, 46, 146, 122] Contoh 2. Ubah semua elemen daftar menjadi huruf besar menggunakan fungsi lambda dan map()Python3Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_91 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_92 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_93 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12594 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12597 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12599________81______7 10 20 30 4001 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 10 20 30 4003 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252
10 20 30 40_05 10 20 30 40_06 10 20 30 4007 Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12508 10 20 30 409 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12582 10 20 30 409 Int formatting: 1.000000e+06 float formatting: 999,999.798 10 20 30 4014
________8 Int formatting: 1.000000e+06 float formatting: 999,999.79_19_______16 Keluaran ['DOG', 'CAT', 'PARROT', 'RABBIT'] Menggunakan fungsi lambda() dengan pengurangan()Fungsi pengurangan () di Python menggunakan fungsi dan daftar sebagai argumen. Fungsi ini dipanggil dengan fungsi lambda dan iterable dan hasil pengurangan baru dikembalikan. Ini melakukan operasi berulang pada pasangan iterable. Fungsi reduce() milik modul functools. Contoh 1. Jumlahkan semua elemen dalam daftar menggunakan fungsi lambda dan pengurangan ().PitonUsing function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_52 10 20 30 40_18 10 20 30 40_19
10 20 30 4020 10 20 30 4021 10 20 30 4022 10 20 30 4023 Int formatting: 1.000000e+06 float formatting: 999,999.79833 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 [90, 59, 21, 60]3 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 10 20 30 4029 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 ['DOG', 'CAT', 'PARROT', 'RABBIT']_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________G 10 20 30 40_39 Int formatting: 1.000000e+06 float formatting: 999,999.793 10 20 30 4023 10 20 30 4042 Int formatting: 1.000000e+06 float formatting: 999,999.798 10 20 30 4044 10 20 30 4045 10 20 30 4046 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 10 20 30 4039 10 20 30 404 Keluaran Int formatting: 1.000000e+06 float formatting: 999,999.790 Di sini hasil dari dua elemen sebelumnya ditambahkan ke elemen berikutnya dan ini berlanjut hingga akhir daftar seperti (((((5+8)+10)+20)+50)+100) Contoh 2. Temukan elemen maksimum dalam daftar menggunakan lambda dan fungsi reduce()Python310 20 30 40_51 10 20 30 40_52
10 20 30 40_53 10 20 30 4022 10 20 30 4021
10 20 30 40_56 10 20 30 4057 Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251________81______7 Int formatting: 1.000000e+06 float formatting: 999,999.7931________81______7________61______3 ['DOG', 'CAT', 'PARROT', 'RABBIT']7 Int formatting: 1.000000e+06 float formatting: 999,999.7945 ['DOG', 'CAT', 'PARROT', 'RABBIT']7______4__9
10 20 30 40_70 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 409 10 20 30 4073 10 20 30 4074 Int formatting: 1.000000e+06 float formatting: 999,999.793 10 20 30 4076 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253 10 20 30 4078 10 20 30 4023 10 20 30 409 Int formatting: 1.000000e+06 float formatting: 999,999.798 10 20 30 4082 10 20 30 400 10 20 30 4084 10 20 30 405 ________19______86 |