全文共1146字,預計學習時長5分鐘
圖源:wired
誕生於1991年的Python,這幾年突然火了。簡歷上有了Python,就業競爭力瞬間提升,甚至一些小學教材上都出現了Python內容。這種語言的熱度超過了以往任何時候。
作為21世紀最流行的語言之一,Python當然有很多有趣的函數值得深入探索和研究。筆者今天就將從理論和實際兩個方面,介紹其中三個函數。
這三個函數可不簡單,它們可以幫助程式設計師們避免編寫循環,有時循環的運行成本是很高的。此外,這些函數還有助於提高運行速度。
拿出筆小本本開始學習吧!
map()
map() 函數的作用是將另一函數作為參數,與某種數組放在一起,旨在將函數(作為參數而導入的函數)應用於數組中的每一個項。其好處在於:
· 無需編寫循環
· 2.比編寫循環用時短
圖源:unsplash
來看看實際效果。筆者採用名為num_func()的函數,該函數以一個數字作為參數。將該數字平方並除以二,然後返回。
註:函數的操作是任意選擇的,用戶可以在函數中執行任何想進行的操作。
現在聲明一串要應用num_func()的數字數組。註:map() 本身將會返回一個map對象,因此需要將其轉為為一個列:
大功告成!雖然不是多難的技術,但是儘可能避免循環總是好事。
reduce()
reduce()則不同,必須從functools模塊將其導入。該操作主要是將一個給定的函數應用於項目組,然後返回一個值。
最後一部分很關鍵——reduce()函數不會返回一個項目組,而是返回一個值。觀察以下圖表,以對此概念具體化。
在圖表不完全清楚的情況下,呈現出以下邏輯:
1.5加10等於15
2.15加12等於27
3.27加18等於45
4.45加25等於70
70是返回的值。從實現代碼開始,先從functools模塊導入reduce函數,再聲明一個返回兩個數字之和的函數:
現在,可以在代碼中重新查看圖表,並驗證所有內容是否正常工作:
當然還有許多辦法可以對列表中的項目進行匯總,這裡只展示了函數工作原理中最簡單的一些例子。
圖源:business.blogthinkbig.com
filter()
這個函數也非常棒,它可以節省時間——包括編寫和執行。顧名思義,這個函數的作用是只將滿足特定條件的項保留在數組中。
與map()一樣,預先聲明函數,然後將其和疊代列表一起傳遞到 filter()。
來一個示例:現已提前聲明了一個名為 more_than_15()的函數,即如果參數給定的項大於15,則返回True。
接下來,聲明一個數字數組,並將其作為filter()函數中的第二個參數導入:
正如所料,只有三個值滿足給定條件。是不是看起來比循環好多了?
圖源:unsplash
用好這三個函數,你的代碼看起來會更好,循環數也會更少。熟能生巧,要多練習呀~
留言點贊關注
我們一起分享AI學習與發展的乾貨
如轉載,請後台留言,遵守轉載規範
文章來源: https://twgreatdaily.com/zh-hk/zSRjZHEBfwtFQPkdKFBE.html