溫馨提示×

溫馨提示×

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

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

python中filter,map,reduce的作用是什么

發布時間:2022-06-13 14:07:10 來源:億速云 閱讀:173 作者:iii 欄目:開發技術

這篇文章主要介紹“python中filter,map,reduce的作用是什么”,在日常操作中,相信很多人在python中filter,map,reduce的作用是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中filter,map,reduce的作用是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、map函數

作用:map主要作用是計算一個序列或者多個序列進行函數映射之后的值

語法:map(function,iterable1,iterable2)

說明:function中參數值可以是一個,也可以是多個;iterable代表function運算中的參數值,有幾個參數值就傳入幾個iterable

注意:1.迭代器需要進行列表轉換 2.map中如果傳入的序列長度不一,會依據最短的序列計算

1. lambda函數

x=[1,2,3,4]
y=[5,6,7,8]
print(list(map(lambda x,y:(x+y),x,y)))

輸出結果:

[6, 8, 10, 12]

2. 自定義函數

def m_num(x,y):
   return  x+y
print(list(map(m_num,x,y)))

輸出結果:

[6, 8, 10, 12]

思路:

把列表1中的元素與列表2中元素依次相加

1+5
2+6
3+7
4+8

二、filter函數

作用:filter主要作用是過濾掉序列中不符合函數條件的元素

語法:fliter(function,sequence)

說明:function可以是匿名函數或者自定義函數,可以對后面的sequence序列的每個元素判定是否符合條件;sequence可以是列表、元組或者字符串

1. lambda函數

num = [2,3,6,9,90,23,88]
#輸出的是filter對象 <filter object at 0x00000113BF8C7390>
print(filter(lambda x:x>10,num))
#需要轉成list [90, 23, 88]
print(list(filter(lambda x:x>10,num)))

輸出結果:

<filter object at 0x00000113BF8C7390>
[90, 23, 88]

注意:迭代器需要進行列表轉換

2. 自定義函數

def fil_num(x):
   return x>10

print(list(filter(fil_num,num)))

思路:

把列表中不需要的元素去掉,那首先要確定要過濾得條件是什么

三、reduce函數

作用:reduce是對一個序列進行計算,結果只得到一個值

語法:reduce(function,iterable)

說明:function中必須傳入兩個參數,iterable可以是列表或者元組

注意:reduce使用前需要導包 from functools import reduce

1. lambda函數

from functools import reduce
x=[1,2,3,4,5]
print(reduce(lambda x,y:(x*y),x))

2. 自定義函數

from functools import reduce
x=[1,2,3,4,5]
def ca(x,y):
    return x*y
print(reduce(ca,x))

思路:

對一個列表里的元素做計算,從左到右依次計算兩個元素,將得到得值跟下一個元素計算

12 = 2
23 = 6
64 = 24
245 = 120

到此,關于“python中filter,map,reduce的作用是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女