python map和lambda

一隻會做夢的菜鳥發表於2020-10-08


前言

一、map

map是python的內建函式

根據提供的函式對指定序列做對映。

map(function,literation...)
  • function:函式
  • literration:一個序列或者多個序列
  • python2 返回list
  • python3 返回迭代器,需使用list轉換

例子如下:

def square(x):
    return x*x
end=list(map(square,[1,2,3]))
print(end)
#[1, 4, 9]

二、lambda

匿名函式lambda:是指一類無需定義識別符號(函式名)的函式或子程式。

lambda x,y,z...:表示式
  • lambda 函式可以接收任意多個引數 (包括可選引數)
  • 包含的表示式不能超過一個
  • lambda 函式不能包含命令
  • lambda匿名函式的格式:冒號前是引數,可以有多個,用逗號隔開,冒號右邊的為表示式。其實lambda返回值是一個函式的地址,也就是函式物件。
p = lambda x,y:x+y
print(p(4,6))
#10

三、map和lambda的使用

 map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函式
 #[1, 4, 9, 16, 25]
 # 提供了兩個列表,對相同位置的列表資料進行相加
 map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
 #[3, 7, 11, 15, 19]

相關文章