亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中常用的高階函數實例詳解

發布時間:2020-10-23 12:35:42 來源:腳本之家 閱讀:142 作者:mhxin 欄目:開發技術

前言

高階函數指的是能接收函數作為參數的函數或類;python中有一些內置的高階函數,在某些場合使用可以提高代碼的效率.

lambda

當在使用一些函數的時候,我們不需要顯式定義函數名稱,直接傳入lambda匿名函數即可。lambda匿名函數通常和其他函數搭配使用。

比如可以直接使用如下的lambda表達式計算當x=3時,y = x * 3 + 5的函數值。

In [1]: (lambda x: x * 3 + 5)(3)
Out[1]: 14

map

map函數將一個函數和序列/迭代器(可以傳入多個)作為參數,應用函數到序列中的每個元素,返回一個迭代器。

In [4]: a = list(range(5))
In [5]: b = list(range(2, 7))
# 結合lambda匿名函數,對a列表中的每個元素,計算x * 3 + 5的函數值
In [6]: list(map(lambda x: x * 3 + 5, a))
Out[6]: [5, 8, 11, 14, 17]
In [9]: def add(x, y):
  ...:   return x+y
# 傳入多個序列,a、b兩個序列中的對應元素依次傳入函數add中進行計算
# Note: a、b兩個序列的長度可以不相等
In [10]: list(map(add, a, b))
Out[10]: [2, 4, 6, 8, 10]

filter

filter函數(filter(func, seq))借助一個函數來測試序列/迭代器中每個元素的真假,返回一個過濾后的迭代器。

In [18]: a = list(range(5))

In [19]: def isodd(number):
  ...:   if number % 2 == 0:
  ...:     return False
  ...:   return True
  ...:

In [20]: filter(isodd, a)
Out[20]: <filter at 0x1a6dc460748>

# 過濾掉所有偶數
In [21]: list(filter(isodd, a))
Out[21]: [1, 3]

reduce

reduce函數傳入一個函數和序列/迭代器,它將滾動計算序列中元素,返回單個結果。例如要計算一個列表所有元素的和。

In [23]: from functools import reduce
In [24]: a = list(range(5))
In [25]: sum = reduce((lambda x, y: x + y), a)
In [26]: sum
Out[26]: 10

sorted

sorted(iter, key, reverse=False), 高級排序函數,可以根據key實現自定義排序。reverse=False表示默認排序結果升序。

# 比如按照a中每個字符串最后的數字大小,降序排序
In [30]: a
Out[30]: ['fasad_2', 'fadfc_4', '7hdc_0', 'ncsl_1', 'fai_3']

In [32]: sorted(a, key=lambda x: int(x[x.rindex('_') + 1:]), reverse=True)
Out[32]: ['fadfc_4', 'fai_3', 'fasad_2', 'ncsl_1', '7hdc_0']

總結

以上所述是小編給大家介紹的Python中常用的高階函數實例詳解,希望對大家有所幫助,也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来安县| 上思县| 雅江县| 太谷县| 嘉兴市| 镶黄旗| 石泉县| 樟树市| 万安县| 呼和浩特市| 尖扎县| 平舆县| 日喀则市| 莱西市| 岢岚县| 永平县| 长汀县| 苗栗县| 赞皇县| 扎兰屯市| 广安市| 堆龙德庆县| 宝应县| 舟曲县| 阿拉善左旗| 盐边县| 乐至县| 紫阳县| 崇州市| 兰西县| 天气| 瓮安县| 封丘县| 沈阳市| 卢龙县| 和静县| 开平市| 清水河县| 亚东县| 永善县| 天镇县|