Python

Python Lambda

Python Lambda

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 * x
cetak (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 + y
cetak (hlm (10,20))

Contoh 3: Contoh di bawah untuk lambda mengambil banyak hujah.

p = lambda x, y, z: x + y + z
mencetak (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.

angka = [0,1,2,3,4,5,6,7,8,9,10]
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).

Cara Mengubah Tetapan Tetikus dan Pad Sentuh Menggunakan Xinput di Linux
Sebilangan besar pengedaran Linux dihantar dengan perpustakaan "libinput" secara lalai untuk menangani peristiwa input pada sistem. Ia dapat memproses...
Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...