Python零基础入门之八lambda的表达式和filter、map内置函数
1.Lambda表达式
Lambda表达式语法是:lambda 参数:对参数进行的运算
之所以引进Lambda的表达式主要是由于以下几点:
(1)Python写一些执行脚本的时候,使用lanbda就可以省下定义函数的过程.
(2)对于一些比较抽象的且整个程序的执行下来只需要调用一两次的函数,不需要为了命名的问题头疼.
(3)简化代码的可读性,不需要调到函数的定义部分去阅读.
注意在使用Lambda表达式时先将Lambda表达式赋值给一个变量,然后向调用函数似的去使用这个变量得到运算的结果。
def ds(x): return 2*x+1print(ds(5)) #lambda表达式后面紧跟着的是参数,冒号后面 #紧跟着的是对于参数进行的操作 lambda x:2*x+1g=lambda x:2*x+1 print(g(5))def add(x,y): return (x+y) print(add(3,4)) g=lambda x,y : x+y print(g(3,4))
2.filter()函数
语法:filter(None or Function,iterable)
作用是将可迭代的数据中经过条件选出结果为1或者true的数据,结合lambda去使用更加方便.
实例代码中的筛选器的作用就是筛选出1~10之间的奇数
list1=list(filter(lambda x:x%2,range(0,10))) print(list1)
3.map()函数
map()函数就是将可迭代的数据按照第一个参数定义的映射逐个进行计算。
list2=list(map(lambda x:x*2,range(10))) print(list2)
关于函数的基础知识到此就结束了,下一篇博客整理关于字典这种数据结构的相关知识。
以上就是Python零基础入门之八lambda的表达式和filter、map内置函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam C++, terdapat dua cara untuk mengendalikan pengecualian menggunakan ungkapan Lambda: tangkap pengecualian menggunakan blok cuba-tangkap dan kendalikan atau buang semula pengecualian dalam blok tangkapan. Menggunakan fungsi pembalut jenis std::function, kaedah try_emplacenya boleh menangkap pengecualian dalam ungkapan Lambda.

Dalam C++, penutupan ialah ungkapan lambda yang boleh mengakses pembolehubah luaran. Untuk membuat penutupan, tangkap pembolehubah luar dalam ungkapan lambda. Penutupan memberikan kelebihan seperti kebolehgunaan semula, penyembunyian maklumat dan penilaian malas. Ia berguna dalam situasi dunia sebenar seperti pengendali acara, di mana penutupan masih boleh mengakses pembolehubah luar walaupun ia dimusnahkan.

Kelebihan ungkapan lambda dalam pengaturcaraan berbilang benang C++ termasuk kesederhanaan, fleksibiliti, kemudahan lulus parameter dan selari. Kes praktikal: Gunakan ungkapan lambda untuk mencipta berbilang benang dan mencetak ID benang dalam urutan yang berbeza, menunjukkan kesederhanaan dan kemudahan penggunaan kaedah ini.

Ungkapan C++ Lambda menyokong penutupan, yang menyimpan pembolehubah skop fungsi dan menjadikannya boleh diakses oleh fungsi. Sintaks ialah [capture-list](parameters)->return-type{function-body}. capture-list mentakrifkan pembolehubah untuk ditangkap Anda boleh menggunakan [=] untuk menangkap semua pembolehubah tempatan mengikut nilai, [&] untuk menangkap semua pembolehubah tempatan melalui rujukan, atau [variable1, variable2,...] untuk menangkap pembolehubah tertentu. Ungkapan Lambda hanya boleh mengakses pembolehubah yang ditangkap tetapi tidak boleh mengubah suai nilai asal.

Terdapat tiga cara untuk menangkap ungkapan lambda pembolehubah luaran dalam C++: Tangkap mengikut nilai: Buat salinan pembolehubah. Tangkap melalui rujukan: Dapatkan rujukan berubah-ubah. Tangkap mengikut nilai dan rujukan serentak: Membenarkan tangkapan berbilang pembolehubah, sama ada mengikut nilai atau rujukan.

Dalam C++, anda boleh menggunakan ungkapan Lambda sebagai parameter fungsi untuk mencapai fleksibiliti fungsi panggil balik. Khususnya: Hantaran parameter: balut ungkapan Lambda melalui fungsi std:: dan hantarkannya kepada fungsi dalam bentuk penuding fungsi. Pemprosesan nilai pulangan: Tentukan jenis nilai pulangan apabila mengisytiharkan penunjuk fungsi panggil balik menggunakan fungsi std::. Kes praktikal: Optimumkan panggilan balik dalam pemprosesan acara GUI, elakkan daripada mencipta objek atau penunjuk fungsi yang tidak diperlukan dan meningkatkan kesederhanaan dan kebolehselenggaraan kod.

Bagaimana untuk melakukan penilaian malas menggunakan ungkapan lambda C++? Gunakan ungkapan lambda untuk mencipta objek fungsi yang dinilai dengan malas. Pengiraan tertunda menangguhkan pelaksanaan sehingga diperlukan. Kira keputusan hanya apabila diperlukan, meningkatkan prestasi.

Petua prestasi untuk mengoptimumkan ungkapan lambda C++ termasuk: Mengelakkan penciptaan objek lambda yang tidak perlu Menangkap objek terkecil secara eksplisit melalui std::bind Mengalihkan pembolehubah yang ditangkap menggunakan std::move untuk mengelakkan penyalinan Mengoptimumkan badan lambda untuk mengelakkan peruntukan memori yang tidak perlu, pengiraan berulang dan capaian berubah-ubah global
