Artikel ini membawakan anda pengetahuan yang berkaitan tentang python Terutamanya ia memperkenalkan isu berkaitan tentang fungsi terbina dalam, terutamanya dengan enam fungsi yang sangat mudah digunakan, termasuk Lambda dan peta , penapis, dan senaraikan fungsinya Mari kita lihat bersama-sama.
Pembelajaran yang disyorkan: tutorial video python
Lambda
fungsi digunakan untuk mencipta tanpa nama functions , iaitu fungsi tanpa nama. Ia hanyalah ungkapan, dan badan fungsi adalah lebih mudah daripada def. Fungsi tanpa nama digunakan apabila kita perlu mencipta fungsi yang menjalankan satu operasi dan boleh ditulis dalam satu baris.
lambda [arg1 [,arg2,.....argn]]:expression
Isi badan lambda ialah ungkapan, bukan blok kod. Hanya logik terhad boleh dirangkumkan dalam ungkapan lambda. Contohnya:
lambda x: x+2
Jika kita juga mahu memanggil fungsi yang ditakrifkan oleh def pada bila-bila masa, kita boleh menetapkan lambda函数
kepada objek fungsi sedemikian.
add2 = lambda x: x+2add2(10)
Hasil keluaran:
Menggunakan fungsi Lambda
, kod boleh dipermudahkan dengan banyak.
Seperti yang ditunjukkan dalam rajah di atas, senarai hasil newlist
dijana dengan satu baris kod menggunakan fungsi lambda.
map()
memetakan fungsi kepada semua elemen senarai input.
map(function,iterable)
Sebagai contoh, kita mula-mula mencipta fungsi untuk mengembalikan perkataan input huruf besar, dan kemudian menggunakan fungsi ini pada semua elemen dalam senarai colors
.
def makeupper(word): return word.upper()colors=['red','yellow','green','black']colors_uppercase=list(map(makeupper,colors))colors_uppercase
Selain itu, kami juga boleh menggunakan 匿名函数lambda
untuk bekerjasama dengan fungsi peta, yang boleh lebih diperkemas.
colors=['red','yellow','green','black']colors_uppercase=list(map(lambda x: x.upper(),colors))colors_uppercase
Jika kita tidak menggunakan fungsi Map, kita perlu menggunakan gelung for.
Seperti yang ditunjukkan dalam rajah di atas, dalam penggunaan sebenar, fungsi Peta akan menjadi 1.5 kali lebih pantas daripada kaedah gelung for untuk menyenaraikan elemen secara berurutan .
Apabila anda perlu melakukan beberapa pengiraan pada senarai dan mengembalikan hasilnya, reduce()
ialah fungsi yang sangat berguna. Sebagai contoh, apabila anda perlu mengira hasil darab semua elemen senarai integer, anda boleh menggunakan fungsi pengurangan. [1]
Perbezaan terbesar antaranya dan fungsi ialah fungsi (fungsi) pemetaan dalam reduce()
menerima dua parameter, manakala peta menerima satu parameter.
reduce(function, iterable[, initializer])
Seterusnya kami menggunakan contoh untuk menunjukkan proses pelaksanaan kod reduce()
.
from functools import reducedef add(x, y) : # 两数相加 return x + y numbers = [1,2,3,4,5]sum1 = reduce(add, numbers) # 计算列表和
Dapatkan hasilnyasum1 = 15
Kita akan lihat pengurangan menggunakan fungsi penambahan add()
pada senarai [1,2,3,4,5] , pemetaan fungsi menerima dua parameter, reduce()
dan terus mengumpul hasil dengan elemen seterusnya dalam senarai .
Selain itu, kita juga boleh menggunakan 匿名函数lambda
untuk memadankan fungsi pengurangan, yang boleh lebih diperkemas.
from functools import reducenumbers = [1,2,3,4,5]sum2 = reduce(lambda x, y: x+y, numbers)
mendapat output sum2= 15
, yang konsisten dengan hasil sebelumnya.
Nota: Bermula dari Python 3.x,
reduce()
telah dialihkan ke modul functools [2]. Jika kita mahu menggunakannya, kita perlu mengimportnya denganfrom functools import reduce
.
enumerate()
fungsi digunakan untuk menggabungkan objek data yang boleh dilalui (seperti senarai, tuple atau rentetan) ke dalam urutan indeks dan menyenaraikan data dan subskrip data pada masa yang sama Ia biasanya digunakan dalam dalam gelung untuk. Sintaksnya adalah seperti berikut:
enumerate(iterable, start=0)
Dua parameternya, satu ialah jujukan, lelaran atau objek lain yang menyokong lelaran, satu lagi ialah kedudukan permulaan subskrip, yang bermula dari 0 secara lalai, juga Nombor permulaan kaunter boleh disesuaikan.
colors = ['red', 'yellow', 'green', 'black']result = enumerate(colors)
Jika kita mempunyai senarai warna yang menyimpan warna, kita akan mendapat objek enumerate selepas menjalankannya. Ia boleh digunakan secara terus dalam gelung untuk atau ditukar kepada senarai Penggunaan khusus adalah seperti berikut.
for count, element in result: print(f"迭代编号:{count},对应元素:{element}")
zip()
fungsi digunakan untuk mengambil objek boleh lelar sebagai parameter dan membungkus elemen yang sepadan dalam objek ke dalam individu tupel dan kemudian mengembalikan senarai yang terdiri daripada tupel ini [3].
Kami masih menggunakan dua senarai sebagai contoh:
colors = ['red', 'yellow', 'green', 'black']fruits = ['apple', 'pineapple', 'grapes', 'cherry']for item in zip(colors,fruits): print(item)
Hasil keluaran:
Apabila kami menggunakan fungsi zip()
, jika bilangan elemen dalam setiap lelaran tidak konsisten, panjang senarai yang dikembalikan adalah sama dengan objek terpendek.
prices =[100,50,120]for item in zip(colors,fruits,prices): print(item)
filter()
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表,其语法如下所示[4]。
filter(function, iterable)
比如举个例子,我们可以先创建一个函数来检查单词是否为大写,然后使用filter()
函数过滤出列表中的所有奇数:
def is_odd(n): return n % 2 == 1old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] new_list = filter(is_odd, old_list)print(newlist)
输出结果:
今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便。
推荐学习:python视频教程
Atas ialah kandungan terperinci Memperkenalkan enam fungsi terbina dalam Python yang sangat mudah digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!