Rumah  >  Artikel  >  ungkapan lambda

ungkapan lambda

百草
百草asal
2023-09-15 10:58:591403semak imbas

Ungkapan Lambda ialah perwakilan ringkas bagi fungsi tanpa nama Ia boleh digunakan di mana-mana sahaja fungsi diperlukan sebagai parameter, dan menyediakan cara pengekodan yang lebih mudah dan fleksibel ialah "senarai parameter lambda: ekspresi". list ialah parameter fungsi, yang boleh mengandungi satu atau lebih parameter, dipisahkan dengan koma Ungkapan ialah badan pelaksanaan fungsi, yang digunakan untuk mentakrifkan operasi khusus fungsi.

ungkapan lambda

Ungkapan Lambda ialah perwakilan ringkas bagi fungsi tanpa nama Ia boleh digunakan di mana-mana fungsi diperlukan sebagai parameter, dan menyediakan cara pengekodan yang lebih ringkas dan fleksibel. Ungkapan Lambda disokong dalam pelbagai bahasa pengaturcaraan Berikut menggunakan bahasa Python sebagai contoh untuk memperkenalkan penggunaan ungkapan Lambda.

Bentuk sintaks umum ungkapan Lambda adalah seperti berikut:

lambda 参数列表: 表达式

Antaranya, senarai parameter ialah parameter fungsi, yang boleh mengandungi satu atau lebih parameter, dipisahkan dengan koma ialah badan pelaksanaan fungsi , digunakan untuk mentakrifkan operasi khusus bagi fungsi tersebut.

Senario penggunaan ungkapan Lambda termasuk:

- diluluskan sebagai parameter fungsi kepada fungsi tertib lebih tinggi, seperti peta, penapis, kurangkan, dsb.

- Digunakan untuk mencipta fungsi tanpa nama untuk mengelakkan mentakrifkan fungsi tambahan.

- Digunakan untuk memudahkan kod dan menjadikannya lebih ringkas dan mudah dibaca.

Yang berikut menggunakan beberapa contoh untuk menggambarkan penggunaan ungkapan Lambda:

1 Ungkapan Lambda dihantar sebagai parameter fungsi kepada fungsi tertib lebih tinggi:

# 使用Lambda表达式计算列表中每个元素的平方
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)  # 输出: [1, 4, 9, 16, 25]

Dalam contoh di atas, ungkapan Lambda mentakrifkan fungsi tanpa nama untuk Kira. segi empat sama setiap elemen dalam senarai. Gunakan ungkapan Lambda pada setiap elemen dalam senarai melalui fungsi `map()`, akhirnya mendapat senarai baharu `nombor_persegi'.

2. Ungkapan Lambda digunakan untuk memudahkan kod:

# 使用Lambda表达式筛选出列表中的偶数
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出: [2, 4]

Dalam contoh di atas, ungkapan Lambda mentakrifkan fungsi tanpa nama untuk menentukan sama ada elemen dalam senarai adalah genap. Gunakan ungkapan Lambda pada setiap elemen dalam senarai melalui fungsi `filter()`, dan akhirnya dapatkan senarai baharu `even_numbers`, yang mengandungi semua nombor genap dalam senarai asal.

3. Ungkapan Lambda untuk pengisihan:

# 使用Lambda表达式对列表进行排序
students = [('Alice', 20), ('Bob', 19), ('Charlie', 21)]
students.sort(key=lambda x: x[1])
print(students)  # 输出: [('Bob', 19), ('Alice', 20), ('Charlie', 21)]

Dalam contoh di atas, ungkapan Lambda mentakrifkan fungsi tanpa nama untuk menentukan kata kunci untuk pengisihan, di sini ia diisih mengikut elemen kedua dalam tuple. Gunakan ungkapan Lambda pada setiap elemen dalam senarai melalui fungsi `sort()`, menghasilkan senarai baharu `pelajar` diisih mengikut urutan umur.

Perlu diingat bahawa ungkapan Lambda biasanya digunakan untuk operasi fungsi mudah Untuk logik fungsi kompleks atau fungsi yang perlu digunakan semula, masih disyorkan untuk menggunakan kaedah definisi fungsi konvensional.

Ringkasnya, ungkapan Lambda ialah cara ringkas untuk menyatakan fungsi tanpa nama, yang boleh digunakan dalam senario seperti lulus parameter fungsi, mencipta fungsi tanpa nama dan memudahkan kod. Melalui ungkapan Lambda, operasi fungsi boleh diproses dengan lebih fleksibel dan ringkas, meningkatkan kebolehbacaan kod dan kecekapan menulis.

Atas ialah kandungan terperinci ungkapan lambda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn