成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

都應該了解的Python函數式編程

開發 前端
lambda 函數,又成為匿名函數。lambda 函數只能有一個表達式,而不需要寫 return 來返回函數的值。當然,匿名函數也是一個函數對象,同樣可以把匿名函數賦值給一個變量。

函數式編程(Functional Programming)或者函數程序設計,是一種編程范型。

它將計算機運算視為數學上的函數運算,并且避免使用程序狀態以及變量對象。

以上只是簡單的函數式編程的概念,我們只需簡單了解即可。

在 Python 中,函數式編程主要由幾個函數的使用構成:lambda()?, map()?, reduce()?, filter()等。

1.lambda 函數

lambda 函數,又成為匿名函數。lambda 函數只能有一個表達式,而不需要寫 return 來返回函數的值。當然,匿名函數也是一個函數對象,同樣可以把匿名函數賦值給一個變量。

圖片

也可以把匿名函數作為返回值來返回

圖片

可以看出,變量 f 就是一個 lambda 函數類型,需要使用?f()來調用該函數。

2.map函數

map 函數接收兩個參數,一個是函數,一個是 Interable (可迭代序列),map 函數依次將函數作用到序列的每個元素,并把結果作為新的 Interable 返回。

看一個例子:

圖片

一個簡單的列表解析,把列表 a 的每個元素都加2,用 map 函數可以寫為:

圖片

由于 map 函數返回的是一個惰性序列,需要通過?list()等函數來調用它。

雖然上面的代碼看起來比直接寫 for 循環要復雜,但是當數據量很大的情況下,Python 的 for 效率就不是很高了,而 map 的效率是可以接近 C 語言的。同時代碼也簡潔很多,簡直裝X神器。

另一個小例子,把列表中的元素轉換為字符串,一條命令

圖片

3.reduce函數

它和 map 有些像,不過 map 是用于逐一遍歷,而 reduce 函數是用來遞歸計算的。

一個簡單的序列求和

圖片

對列表 a 的各個元素依次求和,再看一個自制的int()函數的例子

這是 Python 內置函數 int 的用法

圖片

我們通過 reduce 和 map 函數也可以實現如下

圖片

先用 map 函數來遍歷 23465 這個字符串列表,然后通過 reduce 函數遞歸應用列表每個元素到 lambda 函數。

4. filter函數

它同樣接收一個函數和一個序列,filter()把傳入的函數依次作用于每個元素,然后根據返回值是 True 還是 False 決定保留還是丟棄該元素。

圖片

總結

使用這些函數,不僅可以讓我們的代碼更加簡潔,同時在大數據量或者計算密集時,能夠大大提高效率。

責任編輯:武曉燕 來源: 蘿卜大雜燴
相關推薦

2015-09-01 09:55:47

函數式編程

2017-04-05 12:04:17

python函數

2020-08-07 07:56:50

Ubuntu快捷鍵Windows

2024-04-10 12:36:41

硬件代碼

2019-05-21 16:19:46

前端性能優化圖片

2020-03-22 11:12:25

加速函數Python程序員

2018-08-10 10:45:35

編程語言Python程序員

2013-03-20 17:58:41

虛擬內存程序員

2017-12-05 09:32:00

數據分析對比分析常規分析

2023-10-13 18:15:06

2018-03-27 23:15:11

2021-10-20 06:05:01

編程語言開發

2017-10-24 14:21:30

機器學習人工智能算法

2014-01-09 14:43:40

Linux用戶命令行

2019-08-21 10:15:41

開發Redis數據

2024-05-28 11:38:32

2016-09-28 22:44:40

HttpWeb

2012-02-28 10:52:13

2018-03-07 12:57:53

2019-05-24 09:04:31

C++編程語言開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91久久精| 亚洲精品 在线播放 | 中文在线a在线 | 亚洲高清成人在线 | 成年人在线观看 | 久久精品亚洲欧美日韩精品中文字幕 | 国产日韩欧美精品一区二区 | 色婷婷av久久久久久久 | 国产精品成人国产乱一区 | 国产成人综合一区二区三区 | 欧美日韩中文字幕 | 嫩草国产 | 免费一区| 欧美一区二区三区免费电影 | 欧美人妇做爰xxxⅹ性高电影 | 在线观看av网站永久 | 久久亚洲国产 | 日韩成人影院在线观看 | 国产在线高清 | 亚洲精品在线观看视频 | 久视频在线观看 | 日韩精品一区二区三区中文字幕 | 国产成人免费视频网站高清观看视频 | 久久精品国产一区二区 | 一二三区在线 | 农村妇女毛片精品久久久 | www.99re| 国产成人99久久亚洲综合精品 | 无码日韩精品一区二区免费 | 国产黄色av电影 | 精品无码久久久久久国产 | 国产精品免费一区二区 | 99国产精品99久久久久久 | 国产精品伦一区二区三级视频 | 在线观看成人 | www..99re| 中文字幕亚洲一区二区三区 | 超碰97在线免费 | 久久国产精品亚洲 | 天天操天天干天天透 | 亚洲精品国产成人 |