您好,登錄后才能下訂單哦!
本篇內容介紹了“減少循環的Python函數有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
map()
map() 函數的作用是將另一函數作為參數,與某種數組放在一起,旨在將函數(作為參數而導入的函數)應用于數組中的每一個項。其好處在于:
無需編寫循環
比編寫循環用時短
來看看實際效果。筆者采用名為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函數,再聲明一個返回兩個數字之和的函數:
現在,可以在代碼中重新查看圖表,并驗證所有內容是否正常工作:
當然還有許多辦法可以對列表中的項目進行匯總,這里只展示了函數工作原理中最簡單的一些例子。
filter()
這個函數也非常棒,它可以節省時間——包括編寫和執行。顧名思義,這個函數的作用是只將滿足特定條件的項保留在數組中。
與map()一樣,預先聲明函數,然后將其和迭代列表一起傳遞到 filter()。
來一個示例:現已提前聲明了一個名為 more_than_15()的函數,即如果參數給定的項大于15,則返回True。
接下來,聲明一個數字數組,并將其作為filter()函數中的第二個參數導入:
“減少循環的Python函數有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。