Python 基礎教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對象和類

Python 日期和時間

Python 高級知識

Python 參考手冊

Python 匿名函數(shù)(Lambda)

在本文中,您將了解匿名函數(shù),也稱為lambda函數(shù)。通過示例您將了解它們是什么、它們的語法以及如何使用它們。

什么是Python中的lambda函數(shù)?

在Python中,匿名函數(shù)是沒有定義名稱的函數(shù)

雖然def在Python中使用關鍵字定義了普通函數(shù),但使用關鍵字定義了匿名函數(shù)lambda。

因此,匿名函數(shù)也稱為lambda函數(shù)。

如何在Python中使用lambda函數(shù)?

python中的lambda函數(shù)具有以下語法。

python中Lambda函數(shù)的語法

lambda arguments: expression

Lambda函數(shù)可以具有任意數(shù)量的參數(shù),但只能有一個表達式。表達式被求值并返回。Lambda函數(shù)可在需要函數(shù)對象的任何地方使用。

python中的Lambda函數(shù)示例

這是一個使輸入值翻倍的lambda函數(shù)示例。

# 程序展示lambda函數(shù)的使用
double = lambda x: x * 2

print(double(5))

輸出結果

10

在上面的程序中,lambda x: x * 2是lambda函數(shù)。這里x是參數(shù),x * 2是求值和返回的表達式。

這個函數(shù)沒有名字。它返回一個函數(shù)對象,該對象被分配給標識符double。我們現(xiàn)在可以把它叫做普通函數(shù)。下面聲明

double = lambda x: x * 2

等同于:

def double(x):
   return x * 2

在python中使用Lambda函數(shù)

當我們臨時需要匿名函數(shù)時,我們使用lambda函數(shù)。

在Python中,我們通常將其用作高階函數(shù)的參數(shù)(該函數(shù)將其他函數(shù)作為arguments)。Lambda函數(shù)可以與filter(),map()等內置函數(shù)一起使用。

lambda與filter()一起使用的示例

在Python函數(shù)中filter()接受一個函數(shù)和一個列表作為參數(shù)。

使用列表中的所有項調用該函數(shù),并返回一個新列表,其中包含函數(shù)計算結果為True的項。

這是使用filter()函數(shù)從列表中僅濾除偶數(shù)的示例。

# 程序從列表中過濾出偶數(shù)項
my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(filter(lambda x: (x%2 == 0) , my_list))

print(new_list)

輸出結果

[4, 6, 8, 12]

lambda與map()一起使用的示例

在Python中的map()函數(shù)接受一個函數(shù)和一個列表。

使用列表中的所有項調用該函數(shù),并返回一個新列表,其中包含該函數(shù)為每個項返回的項。

這是使用map()函數(shù)將列表中所有項目翻倍的示例。

# 使用map()將列表中的每個項加倍

my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(map(lambda x: x * 2 , my_list))

print(new_list)

輸出結果

[2, 10, 8, 12, 16, 22, 6, 24]

                                                                                                                                                                                                   

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清