自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

更少循環(huán)?看看這3個Python函數(shù)

開發(fā) 后端
誕生于1991年的Python,這幾年突然火了。簡歷上有了Python,就業(yè)競爭力瞬間提升,甚至一些小學(xué)教材上都出現(xiàn)了Python內(nèi)容。這種語言的熱度超過了以往任何時候。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

誕生于1991年的Python,這幾年突然火了。簡歷上有了Python,就業(yè)競爭力瞬間提升,甚至一些小學(xué)教材上都出現(xiàn)了Python內(nèi)容。這種語言的熱度超過了以往任何時候。

作為21世紀比較流行的語言之一,Python當然有很多有趣的函數(shù)值得深入探索和研究。筆者今天就將從理論和實際兩個方面,介紹其中三個函數(shù)。

這三個函數(shù)可不簡單,它們可以幫助程序員們避免編寫循環(huán),有時循環(huán)的運行成本是很高的。此外,這些函數(shù)還有助于提高運行速度。

拿出筆小本本開始學(xué)習(xí)吧!

map()

map() 函數(shù)的作用是將另一函數(shù)作為參數(shù),與某種數(shù)組放在一起,旨在將函數(shù)(作為參數(shù)而導(dǎo)入的函數(shù))應(yīng)用于數(shù)組中的每一個項。其好處在于:

  • 無需編寫循環(huán)
  • 比編寫循環(huán)用時短

來看看實際效果。筆者采用名為num_func()的函數(shù),該函數(shù)以一個數(shù)字作為參數(shù)。將該數(shù)字平方并除以二,然后返回。

注:函數(shù)的操作是任意選擇的,用戶可以在函數(shù)中執(zhí)行任何想進行的操作。

更少循環(huán)?看看這3個Python函數(shù)

現(xiàn)在聲明一串要應(yīng)用num_func()的數(shù)字數(shù)組。注:map() 本身將會返回一個map對象,因此需要將其轉(zhuǎn)為為一個列:

更少循環(huán)?看看這3個Python函數(shù)

大功告成!雖然不是多難的技術(shù),但是盡可能避免循環(huán)總是好事。

reduce()

reduce()則不同,必須從functools模塊將其導(dǎo)入。該操作主要是將一個給定的函數(shù)應(yīng)用于項目組,然后返回一個值。

最后一部分很關(guān)鍵——reduce()函數(shù)不會返回一個項目組,而是返回一個值。觀察以下圖表,以對此概念具體化。

更少循環(huán)?看看這3個Python函數(shù)

在圖表不完全清楚的情況下,呈現(xiàn)出以下邏輯:

1.5加10等于15

2.15加12等于27

3.27加18等于45

4.45加25等于70

70是返回的值。從實現(xiàn)代碼開始,先從functools模塊導(dǎo)入reduce函數(shù),再聲明一個返回兩個數(shù)字之和的函數(shù):

更少循環(huán)?看看這3個Python函數(shù)

現(xiàn)在,可以在代碼中重新查看圖表,并驗證所有內(nèi)容是否正常工作:

更少循環(huán)?看看這3個Python函數(shù)

當然還有許多辦法可以對列表中的項目進行匯總,這里只展示了函數(shù)工作原理中最簡單的一些例子。

filter()

這個函數(shù)也非常棒,它可以節(jié)省時間——包括編寫和執(zhí)行。顧名思義,這個函數(shù)的作用是只將滿足特定條件的項保留在數(shù)組中。

與map()一樣,預(yù)先聲明函數(shù),然后將其和迭代列表一起傳遞到 filter()。

來一個示例:現(xiàn)已提前聲明了一個名為 more_than_15()的函數(shù),即如果參數(shù)給定的項大于15,則返回True。

更少循環(huán)?看看這3個Python函數(shù)

接下來,聲明一個數(shù)字數(shù)組,并將其作為filter()函數(shù)中的第二個參數(shù)導(dǎo)入:

更少循環(huán)?看看這3個Python函數(shù)

正如所料,只有三個值滿足給定條件。是不是看起來比循環(huán)好多了?

用好這三個函數(shù),你的代碼看起來會更好,循環(huán)數(shù)也會更少。熟能生巧,要多練習(xí)呀~

 

責(zé)任編輯:華軒 來源: 讀芯術(shù)
相關(guān)推薦

2021-08-13 11:06:05

Kubernetes優(yōu)化運維

2024-12-31 12:20:00

Redis復(fù)制延遲數(shù)據(jù)庫

2021-07-13 12:21:34

PythonRPC通信

2018-01-25 15:01:53

程序員年終獎

2023-05-29 07:27:25

2020-12-21 09:40:16

數(shù)據(jù)庫工具技術(shù)

2015-07-01 09:24:00

物聯(lián)網(wǎng)

2024-04-29 14:50:35

2023-10-30 08:18:21

內(nèi)存泄漏Java

2020-04-30 21:25:33

Python 函數(shù)程序員

2020-07-03 18:05:04

Python開發(fā)工具

2012-07-03 09:59:03

程序員

2021-07-19 10:33:17

B端設(shè)計移動端交互設(shè)計

2025-01-10 08:00:00

JavaScript開發(fā)編程語言

2022-09-01 08:54:38

Go零值程序

2016-09-23 20:39:31

2011-04-06 15:01:20

BI數(shù)據(jù)庫書評

2017-12-12 10:36:39

網(wǎng)口無線上網(wǎng)

2018-11-12 14:21:35

2020-09-21 09:00:41

Docker架構(gòu)容器
點贊
收藏

51CTO技術(shù)棧公眾號