欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 內置高階函數詳細

 更新時間:2021年11月02日 08:43:31   作者:一碗周  
這篇文章主要介紹了Python 內置高階函數,文中要介紹的內置高階函數有map()、reduce() 函數、reduce() 函數、sorted() 函數,需要的朋友可以參考一下文章的詳細內容

1、Python的內置高階函數

1.1 map()

map()會根據提供的函數對指定序列做映射

語法格式:

map(function, iterable, ...)

第一個參數function以參數序列中的每一個元素調用function函數,

第二個參數iterable一個或多個序列

返回包含每次 function 函數返回值的新列表。

示例代碼:

list1 = [1, 2, 4, 5, 56, 12, 5, 2, 34]


# 生成一個函數
def func(lt):  # 將偶數返回,奇數+1返回
    if lt % 2 == 0:
        return lt
    else:
        return lt + 1


list2 = map(func, list1)  # 千萬不能加()
# 使用lambda關鍵字
list3 = map(lambda i: i if i % 2 == 0 else i + 1, list1)
print(list(list3))  # [2, 2, 4, 6, 56, 12, 6, 2, 34]
print(list(list2))  # [2, 2, 4, 6, 56, 12, 6, 2, 34]

1.2 reduce() 函數

reduce() 函數在Python2x的時候是系統(tǒng)內置的函數,到Python3x就已經歸入functools庫里面了

reduce() 函數會對參數序列中元素進行累積。

函數將一個數據集合(鏈表,元組等)中的所有數據進行下列操作:用傳給 reduce 中的函數 function(有兩個參數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個數據用 function 函數運算,最后得到一個結果。

語法格式

reduce(function, iterable[, initializer])

function -- 函數,有兩個參數

iterable -- 可迭代對象

initializer -- 可選,初始參數

返回函數計算結果。

示例代碼:

from functools import reduce

list1 = [1, 2, 3, 4, 5, 6, 7]
value = reduce(lambda x, y: x + y, list1)
print(value)  # 28 = 1+2+3+4+5+6+7

會將計算結果存儲到x,每次累計。initializer就是設置x的初始值

1.3 reduce() 函數

filter() 函數用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,如果要轉換為列表,可以使用 list() 來轉換。

該接收兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。

語法結構:

filter(function, iterable)

function -- 判斷函數。

iterable -- 可迭代對象。

返回一個可迭代對象

1.4 sorted() 函數

sorted() 函數對所有可迭代的對象進行排序操作,返回的是一個新的 list.

語法結構:

sorted(iterable, cmp=None, key=None, reverse=False)

iterable -- 可迭代對象。

cmp -- 比較的函數,這個具有兩個參數,參數的值都是從可迭代對象中取出,此函數必須遵守的規(guī)則為,大于則返回1,小于則返回-1,等于則返回0。

key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。

reverse -- 排序規(guī)則,reverse = True 降序 , reverse = False 升序(默認)。

返回重新排序的列表。

示例代碼:

students = [
    {'name': 'tom', 'age': 20},
    {'name': 'lucy', 'age': 15},
    {'name': 'lily', 'age': 13},
    {'name': 'mark', 'age': 21},
    {'name': 'jack', 'age': 13},
    {'name': 'steven', 'age': 18},
]

 
# 找出所有年齡大于18歲學生
result = filter(lambda x: x['age'] > 18, students)
print(list(result))  # [{'name': 'tom', 'age': 20}, {'name': 'mark', 'age': 21}]

# 按照年齡從小到大排序
students = sorted(students, key=lambda x: x['age'], reverse=True)  # 利用key

print(students)
'''
[{'name': 'mark', 'age': 21}, {'name': 'tom', 'age': 20}, 
{'name': 'steven', 'age': 18}, {'name': 'lucy', 'age': 15}, 
{'name': 'lily', 'age': 13}, {'name': 'jack', 'age': 13}]
'''

到此這篇關于Python 內置高階函數詳細的文章就介紹到這了,更多相關Python 內置高階函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解python-圖像處理(映射變換)

    詳解python-圖像處理(映射變換)

    這篇文章主要介紹了python-圖像處理(映射變換),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • python數據可視化繪制世界人口地圖

    python數據可視化繪制世界人口地圖

    這篇文章主要為大家介紹了python數據可視化繪制世界人口地圖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 詳解appium+python 啟動一個app步驟

    詳解appium+python 啟動一個app步驟

    這篇文章主要介紹了詳解appium+python 啟動一個app步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • django admin后管定制-顯示字段的實例

    django admin后管定制-顯示字段的實例

    這篇文章主要介紹了django admin后管定制-顯示字段的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • django orm模塊中的 is_delete用法

    django orm模塊中的 is_delete用法

    這篇文章主要介紹了django orm模塊中的 is_delete用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 解決Python plt.savefig 保存圖片時一片空白的問題

    解決Python plt.savefig 保存圖片時一片空白的問題

    今天小編就為大家分享一篇解決Python plt.savefig 保存圖片時一片空白的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • PyTorch中的C++擴展實現

    PyTorch中的C++擴展實現

    這篇文章主要介紹了PyTorch中的C++擴展實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • tensorflow如何繼續(xù)訓練之前保存的模型實例

    tensorflow如何繼續(xù)訓練之前保存的模型實例

    今天小編就為大家分享一篇tensorflow如何繼續(xù)訓練之前保存的模型實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python的Flask框架與數據庫連接的教程

    Python的Flask框架與數據庫連接的教程

    這篇文章主要介紹了Python的Flask框架與數據庫連接的教程,是Flask框架學習當中的基本知識,需要的朋友可以參考下
    2015-04-04
  • Mac 使用python3的matplot畫圖不顯示的解決

    Mac 使用python3的matplot畫圖不顯示的解決

    今天小編就為大家分享一篇Mac 使用python3的matplot畫圖不顯示的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論