關於lambda表示式

2021-09-25 03:38:38 字數 874 閱讀 4859

lambda函式也叫做匿名函式,就是說沒有具體名稱的函式。lambda只是乙個表示式,一般用來定義簡單的函式,不能共享給別的程式呼叫。

lambda函式可以使用任何數量的引數,但只能有乙個表示式。會返回乙個函式物件,但這個物件不會賦給乙個識別符號。lambda函式可以在需要函式物件的任何地方使用。

用法一:與巢狀函式定義一樣,lambda函式可以引用包含範圍的變數

def make_incrementor(n):

... return lambda x: x + n

...>>> f = make_incrementor(42)

>>> f(0)

42>>> f(1)

43

上面的例子使用乙個lambda表示式來返回乙個函式,這個函式返回兩個引數的和: lambda a, b: a+b。

用法二:傳遞乙個小函式作為引數

pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

>>> pairs.sort(key=lambda pair: pair[1])

>>> pairs

[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]

但有時使用lambda效果並不好,用不用取決於自己的習慣,如下例所示

squares = list(map(lambda x: x**2, range(10)))
等價於

squares = [x**2 for x in range(10)]

關於Lambda表示式

lambda表示式是c 3.0的一種新語法,語法簡潔 為編寫匿名方法提供了更簡明的函式式的句法.我通過乙個示例來說明lambda表示式的原理 lambda表示式和匿名方法都 於委託 我們來看看委託的使用 在c 1.0時 c 2.0時可以使用匿名方法 c 3.0使用lambda表示式 使用lambda...

lambda表示式 lambda表示式

1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...

Lambda表示式和Lambda表示式樹

原版來自 linq學習筆記之二 lambda表示式和lambda表示式樹 lambda 表示式 lambda expressions 是linq實現的另一特性。lambda表示式的作用就是使用使用函式式語法,將方法實現關聯到委託例項。在使用查詢表示式 query expressions 時,查詢表示...