新聞中心

創(chuàng)新互聯(lián)建站主營哈爾濱網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都App制作,哈爾濱h5小程序制作搭建,哈爾濱網(wǎng)站營銷推廣歡迎哈爾濱等地區(qū)企業(yè)咨詢
圖源:wired
誕生于1991年的Python,這幾年突然火了。簡歷上有了Python,就業(yè)競爭力瞬間提升,甚至一些小學教材上都出現(xiàn)了Python內容。這種語言的熱度超過了以往任何時候。
作為21世紀最流行的語言之一,Python當然有很多有趣的函數(shù)值得深入探索和研究。筆者今天就將從理論和實際兩個方面,介紹其中三個函數(shù)。
這三個函數(shù)可不簡單,它們可以幫助程序員們避免編寫循環(huán),有時循環(huán)的運行成本是很高的。此外,這些函數(shù)還有助于提高運行速度。
拿出筆小本本開始學習吧!
map()
map() 函數(shù)的作用是將另一函數(shù)作為參數(shù),與某種數(shù)組放在一起,旨在將函數(shù)(作為參數(shù)而導入的函數(shù))應用于數(shù)組中的每一個項。其好處在于:
· 無需編寫循環(huán)
· 2.比編寫循環(huán)用時短
圖源:unsplash
來看看實際效果。筆者采用名為num_func()的函數(shù),該函數(shù)以一個數(shù)字作為參數(shù)。將該數(shù)字平方并除以二,然后返回。
注:函數(shù)的操作是任意選擇的,用戶可以在函數(shù)中執(zhí)行任何想進行的操作。
現(xiàn)在聲明一串要應用num_func()的數(shù)字數(shù)組。注:map() 本身將會返回一個map對象,因此需要將其轉為為一個列:
大功告成!雖然不是多難的技術,但是盡可能避免循環(huán)總是好事。
reduce()
reduce()則不同,必須從functools模塊將其導入。該操作主要是將一個給定的函數(shù)應用于項目組,然后返回一個值。
最后一部分很關鍵——reduce()函數(shù)不會返回一個項目組,而是返回一個值。觀察以下圖表,以對此概念具體化。
在圖表不完全清楚的情況下,呈現(xiàn)出以下邏輯:
1.5加10等于15
2.15加12等于27
3.27加18等于45
4.45加25等于70
70是返回的值。從實現(xiàn)代碼開始,先從functools模塊導入reduce函數(shù),再聲明一個返回兩個數(shù)字之和的函數(shù):
現(xiàn)在,可以在代碼中重新查看圖表,并驗證所有內容是否正常工作:
當然還有許多辦法可以對列表中的項目進行匯總,這里只展示了函數(shù)工作原理中最簡單的一些例子。
圖源:business.blogthinkbig.com
filter()
這個函數(shù)也非常棒,它可以節(jié)省時間——包括編寫和執(zhí)行。顧名思義,這個函數(shù)的作用是只將滿足特定條件的項保留在數(shù)組中。
與map()一樣,預先聲明函數(shù),然后將其和迭代列表一起傳遞到 filter()。
來一個示例:現(xiàn)已提前聲明了一個名為 more_than_15()的函數(shù),即如果參數(shù)給定的項大于15,則返回True。
接下來,聲明一個數(shù)字數(shù)組,并將其作為filter()函數(shù)中的第二個參數(shù)導入:
正如所料,只有三個值滿足給定條件。是不是看起來比循環(huán)好多了?
圖源:unsplash
用好這三個函數(shù),你的代碼看起來會更好,循環(huán)數(shù)也會更少。熟能生巧,要多練習呀~
新聞名稱:3個Python函數(shù)幫程序員們避免編寫循環(huán),提高運行速度
瀏覽路徑:http://m.5511xx.com/article/cdoheoi.html


咨詢
建站咨詢
