Fungsi Python Lambda adalah fungsi baris tunggal yang badannya hanya berupa ekspresi dan dapat menerima banyak argumen
Dalam tutorial ini, pertama-tama kita akan mempelajari dasar-dasar fungsi lambda dan kedua, beberapa peretasan menarik yang dapat kita lakukan dengan fungsi lambda ini
Sintaks Fungsi Lambda
Berikut adalah sintaks Fungsi Lambda
lambda arguments : expressionAnda dapat menetapkan fungsi lambda ini ke sebuah variabel. Sesuatu seperti di cuplikan kode di bawah ini
x = lambda arguments : expression_Dan Anda dapat memanggil fungsi lambda dengan nama variabel x. Berikut adalah cuplikan kode contoh untuk memanggil fungsi lambda
result = x(arguments)Argumen diteruskan seperti argumen fungsi biasa, tetapi nama fungsi menjadi variabel yang kami tetapkan untuk fungsi lambda ini
Saat Anda memanggil fungsi lambda, ekspresi dievaluasi dan nilai yang dievaluasi dikembalikan. Jadi, Anda memiliki argumen, pernyataan isi dan pengembalian, semuanya hanya dalam satu baris. Jadi sangat ringkas
Contoh 1. Fungsi Python Lambda
Berikut adalah fungsi lambda sederhana, yang mengambil angka dan mengembalikan kuadratnya
Program Piton
#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)JalankanKeluaran
36_Contoh 2. Fungsi Python Lambda – Beberapa argumen
Kami telah menyebutkan bahwa fungsi Python Lambda dapat menerima banyak argumen. Dalam contoh berikut, kita mendefinisikan fungsi lambda dengan dua argumen, misalnya a dan b, dan kita akan mengalikan a dan b
Program Piton
#lambda function mul = lambda a,b: a*b #call lambda function result = mul(5,3) print(result)JalankanKeluaran
15_Contoh 3. Fungsi Python Lambda Tanpa Argumen
Ya. Anda dapat menentukan fungsi lambda tanpa argumen sama sekali. Jika ada persyaratan bahwa Anda membuat fungsi lambda tanpa argumen, Anda bisa
Dalam contoh berikut, kami mendefinisikan fungsi lambda tanpa argumen, dan mengembalikan x = lambda arguments : expression3 saat dipanggil
Program Piton
#lambda function six = lambda : 6 #call lambda function result = six() print(result)_LariKeluaran
6_Fungsi Lambda Rekursif
Anda dapat mendesain fungsi rekursi menggunakan fungsi lambda. Menurut sintaks fungsi Python Lambda, yang Anda butuhkan hanyalah ekspresi yang mengevaluasi nilai tunggal untuk dikembalikan. Jadi, jika Anda dapat membuat fungsi rekursif yang memenuhi kriteria ini, Anda memiliki fungsi lambda rekursif
Dalam contoh berikut, kami mendefinisikan fungsi lambda yang dapat menghitung faktorial dari angka tertentu, menggunakan rekursi
Program Piton
#recursive lambda function factorial = lambda a: a*factorial(a-1) if (a>1) else 1 #call lambda function result = factorial(5) print(result)_LariKeluaran
x = lambda arguments : expression_0Kembalikan Fungsi Lambda
Fungsi Lambda seperti variabel. Jadi, Anda dapat mengembalikan fungsi lambda dari fungsi lain
Program Piton
x = lambda arguments : expression1LariKeluaran
x = lambda arguments : expression_2Ringkasan
Mengakhiri tutorial Contoh Python ini, kami belajar cara mendefinisikan fungsi lambda, dan menggunakannya dalam program Anda secara konstruktif, dengan bantuan program contoh
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.
Sintaks Fungsi Python Lambda
Sintaksis. argumen lambda. ekspresi
- Fungsi ini dapat memiliki sejumlah argumen tetapi hanya satu ekspresi, yang dievaluasi dan dikembalikan
- Seseorang bebas menggunakan fungsi lambda di mana pun objek fungsi diperlukan
- Anda perlu mengetahui bahwa fungsi lambda secara sintaksis dibatasi untuk satu ekspresi
- Ini memiliki berbagai kegunaan dalam bidang pemrograman tertentu, selain jenis ekspresi lain dalam fungsi
Contoh Fungsi Python Lambda
Python3
________14result = x(arguments)_14_______3 Int formatting: 1.000000e+06 float formatting: 999,999.794
Int formatting: 1.000000e+06 float formatting: 999,999.79_5
Int formatting: 1.000000e+06 float formatting: 999,999.796Int 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.799Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1254
Keluaran
SKEEGROFSKEEGPenjelasan. Dalam contoh di atas, kami mendefinisikan fungsi lambda (rev_upper) untuk mengonversi string menjadi huruf besar dan membalikkannya
Penggunaan Fungsi Lambda di Python
Contoh 1. Pengecekan Kondisi Menggunakan fungsi lambda Python
Python3
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1255Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.798 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1258Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1259 10 20 30 400 10 20 30 40___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ E jelas.
________22______310 20 30 40920212223
________22______310 20 30 40926212823
Keluaran
Int formatting: 1.000000e+06 float formatting: 999,999.79Contoh 2. Perbedaan Antara fungsi Lambda dan fungsi yang ditentukan
Python3
[3, 16, 9]0 [3, 16, 9]1
________54______2[3, 16, 9]3 [3, 16, 9]4[3, 16, 9]5[3, 16, 9]436_54_______5[3, 16, 9]4
[3, 16, 9]9Int 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
________22______310 20 30 409[90, 59, 21, 60]1[90, 59, 21, 60]2[90, 59, 21, 60]323
[90, 59, 21, 60]_5
________22______310 20 30 409[90, 59, 21, 60]8[90, 59, 21, 60]9[90, 59, 21, 60]323
Keluaran
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125Seperti 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 Python
Contoh 1. Fungsi Python Lambda dengan Pemahaman Daftar
Dalam contoh ini, kita akan menggunakan fungsi lambda dengan pemahaman daftar
Python3
[10, 14, 44, 194, 108, 124, 154, 46, 146, 122]2Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4Int formatting: 1.000000e+06 float formatting: 999,999.798 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]6Int formatting: 1.000000e+06 float formatting: 999,999.793[10, 14, 44, 194, 108, 124, 154, 46, 146, 122]8[3, 16, 9]5 ['DOG', 'CAT', 'PARROT', 'RABBIT']0 ['DOG', 'CAT', 'PARROT', 'RABBIT']1 ['DOG', 'CAT', 'PARROT', 'RABBIT']2['DOG', 'CAT', 'PARROT', 'RABBIT']3 ['DOG', 'CAT', 'PARROT', 'RABBIT']410 20 30 409Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251['DOG', 'CAT', 'PARROT', 'RABBIT']7[90, 59, 21, 60]3['DOG', 'CAT', 'PARROT', 'RABBIT']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]2Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1253Int formatting: 1.000000e+06 float formatting: 999,999.7908
Keluaran
10 20 30 40Penjelasan. 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-else
Di sini kita menggunakan fungsi Max lambda untuk menemukan maksimum dua bilangan bulat
Python3
Int 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.791310 20 30 400Int formatting: 1.000000e+06 float formatting: 999,999.791510 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: 125310 20 30 409Int formatting: 1.000000e+06 float formatting: 999,999.791010 20 30 409Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.792423
Keluaran
2Contoh 3. Python Lambda dengan Banyak pernyataan
Fungsi 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
Python3
Int 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.7928Int formatting: 1.000000e+06 float formatting: 999,999.7924['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7931['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7933Int formatting: 1.000000e+06 float formatting: 999,999.7934Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7933['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7939['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7941Int formatting: 1.000000e+06 float formatting: 999,999.7934Int formatting: 1.000000e+06 float formatting: 999,999.7931['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7945['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7947['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7949Int 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.7952Int 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.7955Int formatting: 1.000000e+06 float formatting: 999,999.79_56Int 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 ________14______61
Int formatting: 1.000000e+06 float formatting: 999,999.79_62
Int formatting: 1.000000e+06 float formatting: 999,999.7963Int 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.7966Int formatting: 1.000000e+06 float formatting: 999,999.7967Int formatting: 1.000000e+06 float formatting: 999,999.7968Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ E jelas KE bagus
Int formatting: 1.000000e+06 float formatting: 999,999.7976Int formatting: 1.000000e+06 float formatting: 999,999.793 Int formatting: 1.000000e+06 float formatting: 999,999.7978Int formatting: 1.000000e+06 float formatting: 999,999.7926Int formatting: 1.000000e+06 float formatting: 999,999.7980
________22#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)_14_______82
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 lambda
Di 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
Piton
Int formatting: 1.000000e+06 float formatting: 999,999.7983Int 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']7Int formatting: 1.000000e+06 float formatting: 999,999.7988['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7990['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7992['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7994['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7996['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7998['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12500['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12502['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12504Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12506Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250810 20 30 409Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251010 20 30 409Int formatting: 1.000000e+06 float formatting: 999,999.798 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________1222222222222.
________22#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)_22_______21
Keluaran
[5, 7, 97, 77, 23, 73, 61]Contoh 2. Filter semua orang yang berusia lebih dari 18 tahun, menggunakan fungsi lambda dan filter()
Python3
Using 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: 12523Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12526['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12528['DOG', 'CAT', 'PARROT', 'RABBIT']_________________________________________________________________________________________________________________
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12540Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250810 20 30 409________22#recursive lambda function factorial = lambda a: a*factorial(a-1) if (a>1) else 1 #call lambda function result = factorial(5) print(result)_33_______9Int formatting: 1.000000e+06 float formatting: 999,999.798 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12547Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12548________22______49
________22#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)_22_______51
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()
Piton
Using 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.7983Int 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']7Int formatting: 1.000000e+06 float formatting: 999,999.7988['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7990['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7992['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7994['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7996['DOG', 'CAT', 'PARROT', 'RABBIT']7Int formatting: 1.000000e+06 float formatting: 999,999.7998['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12500['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12502['DOG', 'CAT', 'PARROT', 'RABBIT']7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12504Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1252
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12506Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250810 20 30 409Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_8210 20 30 409Int 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]5Int formatting: 1.000000e+06 float formatting: 999,999.7924________22______8
________22#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)_22_______21
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()
Python3
Using 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: 125_94Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12597['DOG', 'CAT', 'PARROT', 'RABBIT']95______7Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 12599['DOG', 'CAT', 'PARROT', 'RABBIT']710 20 30 4001________95______710 20 30 4003Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_22_______
10 20 30 40_05
10 20 30 40_06
10 20 30 4007Int formatting: 1.000000e+06 float formatting: 999,999.793 Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1250810 20 30 409Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_8210 20 30 409Int formatting: 1.000000e+06 float formatting: 999,999.798 10 20 30 4014
________22#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)_33_______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 ().
Piton
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125_52
10 20 30 40_18
10 20 30 40_19
________33______20 10 20 30 402110 20 30 4022 10 20 30 4023
Int formatting: 1.000000e+06 float formatting: 999,999.79833Int 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____33333333333333333333333333333333333333333333333333333333333333333333333
10 20 30 40_39 Int formatting: 1.000000e+06 float formatting: 999,999.793 10 20 30 402310 20 30 4042Int formatting: 1.000000e+06 float formatting: 999,999.798 10 20 30 404410 20 30 4045 10 20 30 4046
Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 125310 20 30 40910 20 30 403910 20 30 404
Keluaran
Int formatting: 1.000000e+06 float formatting: 999,999.79_0Di 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()
Python3
10 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 4057Int formatting: 1.000000e+06 float formatting: 999,999.793 [10, 14, 44, 194, 108, 124, 154, 46, 146, 122]4Using function defined with `def` keyword, cube: 125 Using lambda function, cube: 1251['DOG', 'CAT', 'PARROT', 'RABBIT']7____14_______31['DOG', 'CAT', 'PARROT', 'RABBIT']7[90, 59, 21, 60]_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________g
10 20 30 40_70
________22______310 20 30 40910 20 30 407310 20 30 4074Int formatting: 1.000000e+06 float formatting: 999,999.79310 20 30 4076
________22______310 20 30 407810 20 30 402310 20 30 409Int formatting: 1.000000e+06 float formatting: 999,999.798 10 20 30 408210 20 30 400 10 20 30 408410 20 30 405 ________33______86