最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python lambda表達(dá)式filter、map、reduce函數(shù)用法解析

 更新時間:2019年09月11日 09:36:40   作者:gdjlc  
這篇文章主要介紹了Python lambda表達(dá)式filter、map、reduce函數(shù)用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

前言

lambda是表達(dá)式,用于創(chuàng)建匿名函數(shù),可以和filter、map、reduce配合使用。

本文環(huán)境Python3.7。

一、lambda表達(dá)式

lambda 只包含一個語句,用于創(chuàng)建匿名函數(shù)。

語法:

lambda [arg1 [,arg2,.....argn]]:expression

arg1 -- 參數(shù),可以有多個

expression -- 表達(dá)式

使用例子:

f1 = lambda x : x > 10
print(f1(1)) #輸出:False
print(f1(11)) #輸出:True
f2 = lambda x, y: x + y
print(f2(1,2)) #輸出:3

二、filter() 函數(shù)

filter() 函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回迭代器對象(Python2是列表),可以使用list()轉(zhuǎn)換為列表。

語法:

filter(function, iterable)

function -- 函數(shù)

iterable -- 序列,序列的每個元素作為參數(shù)傳遞給函數(shù)進(jìn)行判斷,然后返回 True 或 False,最后將返回 True 的元素放到迭代器對象中。

使用例子:

def isEven(x):
  return x % 2 == 0
list1 = filter(isEven,[1,2,3,4,5,6])
print(list(list1)) #輸出:[2, 4, 6]
#可以用lambda
list2 = filter(lambda x:x%2==0, [1,2,3,4,5,6])
print(list(list2)) #輸出:[2, 4, 6]
#也可以用列表推導(dǎo)式
list3 = list(x for x in [1,2,3,4,5,6] if x%2==0)
print(list3) #輸出:[2, 4, 6]

三、map()函數(shù)

map()接收一個函數(shù) f 和一個或多個序列 list,并通過把函數(shù) f 依次作用在 list 的每個元素上,得到一個新的 迭代器(Python2是列表) 并返回。

語法:

map(function, iterable, ...)

function -- 函數(shù),如果iterable有多個序列,則function的參數(shù)也對應(yīng)有多個

iterable -- 一個或多個序列

使用例子:

def multi(x):
  return x * 2

def multi2(x, y):
  return x * y

#參數(shù)只有1個序列時
list1 = map(multi,[1,2,3,4,5])
print(list(list1)) #輸出:[2, 4, 6, 8, 10]

#用lambda改寫上面語句
list1_1 = map(lambda x : x*2, [1,2,3,4,5])
print(list(list1_1)) #輸出:[2, 4, 6, 8, 10]

#參數(shù)有2個序列時,
list2 = map(multi2,[1,2,3,4,5],[6,7,8,9,10])
print(list(list2)) #對2個列表數(shù)據(jù)的相同位置元素相乘,輸出:[6, 14, 24, 36, 50]

#用lambda改寫上面語句
list2_1 = map(lambda x,y : x*y, [1,2,3,4,5],[6,7,8,9,10])
print(list(list2_1)) #輸出:[6, 14, 24, 36, 50]

#當(dāng)2個序列長度不一致時,結(jié)果以2個序列中的最短長度為準(zhǔn)
list2_2 = map(lambda x,y : x*y, [1,2,3],[6,7,8,9,10])
print(list(list2_2)) #輸出:[6, 14, 24]
list2_3 = map(lambda x,y : x*y, [1,2,3,4,5],[6,7,8])
print(list(list2_3)) #輸出:[6, 14, 24]

四、reduce()函數(shù)

reduce()函數(shù)對一個數(shù)據(jù)集合的所有數(shù)據(jù)進(jìn)行操作:用傳給 reduce 中的函數(shù) function(必須有兩個參數(shù))先對集合中的第 1、2 個元素進(jìn)行操作,得到的結(jié)果再與第三個數(shù)據(jù)用 function 函數(shù)運算,最后得到一個結(jié)果。

在Python2中reduce()是內(nèi)置函數(shù),Pytho3移到functools 模塊。

語法:

reduce(function, iterable[, initializer])

function -- 函數(shù),有兩個參數(shù)

iterable -- 可迭代對象

initializer -- 可選,初始參數(shù)

使用例子:

from functools import reduce
def add(x, y):
  return x + y
def mulit(x, y):
  return x * y
print(reduce(add, [1, 2, 3, 4, 5])) #輸出:15
print(reduce(add, [1, 2, 3, 4, 5], 10)) #輸出:25
print(reduce(mulit, [1, 2, 3, 4, 5])) #輸出:120
print(reduce(mulit, [1, 2, 3, 4, 5], 10)) #輸出:1200
print(reduce(lambda x,y:x+y,[1, 2, 3, 4, 5]))#輸出:15
print(reduce(lambda x,y:x+y,[1, 2, 3, 4, 5], 10))#輸出:25

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python3中的算術(shù)運算符詳解

    Python3中的算術(shù)運算符詳解

    這篇文章主要介紹了Python3中的算術(shù)運算符詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Flask框架運用Axios庫實現(xiàn)前后端交互詳解

    Flask框架運用Axios庫實現(xiàn)前后端交互詳解

    Axios 是一個基于promise的HTTP庫,該庫是一個更好的替代ajax向后端發(fā)送數(shù)據(jù)或請求數(shù)據(jù)的前端組件庫。本文通過示例為大家介紹了如何運用Axios庫實現(xiàn)前后端交互,感興趣的可以了解一下
    2022-12-12
  • python數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法

    python數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法

    下面小編就為大家?guī)硪黄猵ython數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • python基于event實現(xiàn)線程間通信控制

    python基于event實現(xiàn)線程間通信控制

    這篇文章主要介紹了python基于event實現(xiàn)線程間通信控制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 淺析python繼承與多重繼承

    淺析python繼承與多重繼承

    在本篇文章中我們給大家分析了python繼承與多重繼承的相關(guān)知識點內(nèi)容,有興趣的讀者們參考下。
    2018-09-09
  • 基于python-pptx庫中文文檔及使用詳解

    基于python-pptx庫中文文檔及使用詳解

    今天小編就為大家分享一篇基于python-pptx庫中文文檔及使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python實現(xiàn)一個簡單的QQ截圖

    Python實現(xiàn)一個簡單的QQ截圖

    大家好,本篇文章主要講的是Python實現(xiàn)一個簡單的QQ截圖,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下的相關(guān)資料
    2022-02-02
  • TensorFlow卷積神經(jīng)網(wǎng)絡(luò)MNIST數(shù)據(jù)集實現(xiàn)示例

    TensorFlow卷積神經(jīng)網(wǎng)絡(luò)MNIST數(shù)據(jù)集實現(xiàn)示例

    這篇文章主要介紹了TensorFlow卷積神經(jīng)網(wǎng)絡(luò)MNIST數(shù)據(jù)集的實現(xiàn)示例的過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • 使用python遠(yuǎn)程操作linux過程解析

    使用python遠(yuǎn)程操作linux過程解析

    這篇文章主要介紹了使用python遠(yuǎn)程操作linux過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Keras 快速解決OOM超內(nèi)存的問題

    Keras 快速解決OOM超內(nèi)存的問題

    這篇文章主要介紹了Keras 快速解決OOM超內(nèi)存的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論

宣武区| 佛山市| 富源县| 庆元县| 临夏县| 沿河| 杭锦后旗| 延安市| 阿勒泰市| 西城区| 巴里| 林州市| 嘉定区| 平顺县| 尚义县| 普安县| 祁东县| 淳安县| 永清县| 石棉县| 康平县| 乐至县| 安远县| 夏河县| 青州市| 密云县| 栖霞市| 库车县| 项城市| 周至县| 泌阳县| 苏尼特左旗| 宜君县| 北安市| 滨海县| 仁寿县| 舟曲县| 井陉县| 涞源县| 闻喜县| 全椒县|