Rumah > masalah biasa > teks badan

ungkapan lambda

百草
Lepaskan: 2023-09-15 10:59:34
asal
1486 orang telah melayarinya

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 参数列表: 表达式
Salin selepas log masuk

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]
Salin selepas log masuk

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]
Salin selepas log masuk

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)]
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!