Dalam artikel ini, kami akan cuba belajar mengenai Python Lambda.
Definisi
Lambda adalah fungsi yang ditentukan tanpa nama. Ini boleh mengambil banyak argumen, tetapi hanya satu ungkapan yang dibenarkan yang dinilai dan dikembalikan. Di mana objek fungsi diperlukan, kita dapat menggunakan fungsi lambda.
Sintaks:
hujah lambda: ungkapan
Contoh 1: Fungsi di bawah digunakan untuk mengira kubus nombor.
kubus def (a):kembalikan a * a * a
cetak (kiub (3))
Fungsi di atas boleh ditulis menggunakan lambda, seperti gambar di bawah:
p = lambda x: x * x * xcetak (hlm (3))
Contoh 2: Fungsi di bawah digunakan untuk mengira jumlah dua nombor.
def sum_2 (x, y):pulangan x + y
cetak (jumlah_2 (10,20))
Fungsi di atas boleh ditulis menggunakan lambda, seperti gambar di bawah:
p = lambda x, y: x + ycetak (hlm (10,20))
Contoh 3: Contoh di bawah untuk lambda mengambil banyak hujah.
p = lambda x, y, z: x + y + zmencetak (hlm (10, 5, 3))
Contoh 4: Fungsi ini mengalikan nombor dengan 2 dan boleh ditulis menggunakan fungsi Lambda seperti di bawah:
def func (n):pulangkan lambda x: x * n
darab_by_2 = func (2)
cetak (darab_ dengan_2 (11))
cetak (darab_ dengan_2 (15))
Contoh 5: Fungsi berfungsi sebagai argumen dan mengembalikan hasilnya.
function_argument = lambda p, f: p + f (p)cetak (function_argument (5, lambda p: p * p))
cetak (function_argument (10, lambda x: x - 3))
cetak (function_argument (10, lambda x: x + 5))
cetak (function_argument (10, lambda x: x / 5))
Contoh 6: Dalam contoh di bawah, lambda digunakan untuk menyusun nilai.
# (nama, nama keluarga, umur)data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.urutkan (kunci = lambda x: x [0]) # urutkan berdasarkan nama
mencetak (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.urutkan (kunci = lambda x: x [1]) # urutkan berdasarkan nama keluarga
mencetak (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.urutkan (kunci = lambda x: x [2]) # urutkan berdasarkan umur
mencetak (data)
Sekarang, masuk ke jurubahasa python3.
Fungsi lambda digunakan dalam banyak kaedah terbina dalam. Berikut adalah beberapa contoh:
1. Peta
Fungsi ini memetakan setiap elemen mengikut urutan menggunakan fungsi lambda.
Sintaks:
peta (fungsi, seq)
Cth:
angka = [1,2,3,4,5,6]
Di sini, kita akan mengalikan setiap elemen dalam senarai dengan 2.
mul_2 = peta (lambda x: x * 2, angka)
print (list (mul_2)) # Ia mengembalikan objek peta dan menaipnya sebagai senarai.
Dalam fungsi di atas, setiap elemen thelist diteruskan ke fungsi lambda dan fungsi lambda akan mengalikannya dengan 2.
angka = [1,2,3,4,5,6]mul_2 = peta (lambda x: x * 2, angka)
cetak (senarai (mul_2))
2. Tapis
Fungsi ini menyaring semua elemen senarai yang fungsi lambda mengembalikan True.
Sintaks:
penapis (fungsi, seq)
Cth:
angka = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = penapis (lambda x: x% 2, angka)
print (list (odd_nums)) # Ia mengembalikan objek peta, dan menaipnya sebagai senarai.
odd_nums = penapis (lambda x: x% 2, angka)
cetak (senarai (bilangan ganjil))
3. Kurangkan
Fungsi ini mengembalikan satu nilai dengan menerapkan fungsi func () ke seq.
Sintaks:
kurangkan (func, seq)
Cth:
angka = [0,1,2,3,4,5,6,7,8,9,10]
nilai = kurangkan (lambda x, y: x + y, angka)
mencetak (nilai)
Dalam senarai di atas, ia akan mengambil 2 elemen pertama dan melakukan penambahan. Hasil penambahan akan ditambahkan pada elemen ketiga dan seterusnya. Akhirnya, ia akan mengembalikan satu nilai.
Catatan: Kaedah ini tidak tersedia dalam versi python3 +.
angka = [0,1,2,3,4,5,6,7,8,9,10]nilai = kurangkan (lambda x, y: x + y, angka)
mencetak (nilai)
Kesimpulannya
Dari artikel ini, kita telah mempelajari banyak aspek fungsi lambda. Bergantung pada apa yang diperlukan oleh program, kita dapat menggunakannya dan membuat pengekodan python yang lebih baik. Ini paling sering digunakan untuk menyampaikan argumen ke fungsi lain (sebagai contoh, kita telah melihat peta fungsi, menapis, dan mengurangkan).