python的map 和filter 函式

2021-10-04 19:57:42 字數 649 閱讀 7509

map()函式

map()函式,顧名思義,用於對映,把乙個序列的每乙個元素對映到函式中,然後返回乙個迭代物件。

例如:

def square(x):

return x**2

print(list(map(square,[1,2,3]))) #[1,4,9] 這裡注意要用list作轉換

當然也可以用匿名函式lambda

print(list(map(lambda x:x**2,[1,2,3]))) #[1,4,9]
可見map()函式的使用格式:map(function,iterable…)

其實上述的**也可以使用列表推導來完成,比用map更加簡單明瞭。

print([i**2 for i in [1,2,3]])
filter()函式

filter()函式,顧名思義,用於過濾,把乙個序列的每個元素對映到函式中,返回結果為true的元素。使用格式與map函式一樣。

例如

print(list(filter(lambda x:x%2==0,[1,2,3]))) #[2],只留下能被2整除的元素

python3學習之map函式和filter函式

map 函式可以對乙個資料進行同等迭代操作。例如 def f x return x x r map f,1,2,3,4,5,6,7,8,9 print list r map函式傳入的第乙個引數就是函式本身,即f。第二個引數是要操作的資料 map 作為高階函式,事實上它把運算規則抽象了,因此,我們不 ...

第7條 用列表推導式來取代map和filter

核心知識點 1.列表推導式要比內建的map和filter函式清晰,因為它無需額外編寫lambda表示式。2.列表推導式可以跳過輸入列表中的某些元素,如果改用map來做,那就必須輔以filter方能實現。3.字典與集也支援推導表示式。python提供了一套精煉的寫法,可以根據乙份列表裡製作另外乙份。這...

python的map和zip操作

如果要將乙個string list轉換成int list list裡每個string都轉成int 比如 python 0 1 2 0,1,2 可以使用 python int x for x in list 或者使用map操作 map func,list 對list裡的每個元素apply func.p...