python ——filter(),map()函數用法


filter()函數是什么

filter(func, iterable) 

filter接收的是可迭代對象中的每個元素作為func的參數,返回的是bool值,函數中設置的是判斷條件

返回的是在bool值為索引為True的元素

示例
#將range(10)以內的偶數過濾掉
a = list(filter(lambda x : x % 2,range(10)))#奇數余2的值為1,bool值為True,filter函數返回此元素
print(a)#[1, 3, 5, 7, 9]

 

map()函數是什么

map(func, iterable) 

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

第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。

示例
#將range(10)以內的數*2保存到新列表
b = list(map(lambda x:x*2,range(10)))
print(b)#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

普通寫法

#普通寫法
c=[x*2 for x in range(10)]
print(c)

當我們需要用到一一對應的操作時使用map()函數就方便了

#定義兩個列表,將兩個列表相同位置的值加起來形成新列表
ls1 = [1,2,3]
ls2 = [2,3,4]
d = list(map(lambda x,y:x+y,ls1,ls2))#兩個列表相同位置的值形成映射,一一對應
print(d)#[3, 5, 7]

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM