日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python 匿名函數(shù)Lambda的9種用法

 copy_left 2023-04-03 發(fā)布于四川
  1. 簡單的 lambda 函數(shù)
x=1f=lambda x: x + 1print(f(1))

這個簡單的 lambda 函數(shù)接受一個參數(shù) x,并返回 x+1 的結果。

  1. 將 lambda 函數(shù)賦值給變量
add = lambda x, y: x + yprint(add(1,2))

這個 lambda 函數(shù)接受兩個參數(shù) x 和 y,并返回它們的和。

  1. 將 lambda 函數(shù)用于 map 函數(shù)

map 函數(shù)可以將一個函數(shù)應用于一個迭代器中的每個元素,并返回一個新的迭代器。lambda 函數(shù)常常用于 map 函數(shù)中。

lst = [1, 2, 3, 4, 5]new_lst = list(map(lambda x: x * 2, lst))print(new_lst)

這個 lambda 函數(shù)接受一個參數(shù) x,并返回 x*2 的結果。map 函數(shù)將 lambda 函數(shù)應用于列表 lst 中的每個元素,并將結果存儲在一個新列表 new_lst 中。

  1. 將 lambda 函數(shù)用于 filter 函數(shù)

filter 函數(shù)可以使用一個函數(shù)來過濾一個迭代器中的元素。lambda 函數(shù)常常用于 filter 函數(shù)中。

lst = [1, 2, 3, 4, 5] new_lst = list(filter(lambda x: x % 2 == 0, lst))

這個 lambda 函數(shù)接受一個參數(shù) x,并返回 x 是否是偶數(shù)的布爾值。filter 函數(shù)將 lambda 函數(shù)應用于列表 lst 中的每個元素,并僅將返回 True 的元素存儲在新列表 new_lst 中。

  1. 將 lambda 函數(shù)用于 sorted 函數(shù)

sorted 函數(shù)可以使用一個函數(shù)來排序一個列表。lambda 函數(shù)常常用于 sorted 函數(shù)中。

lst = [(2, 'b'), (1, 'a'), (3, 'c')] new_lst = sorted(lst, key=lambda x: x[0])

這個 lambda 函數(shù)接受一個參數(shù) x,并返回元組 x 中的第一個元素。sorted 函數(shù)將 lambda 函數(shù)應用于列表 lst 中的每個元素,并按照返回的結果對元素進行排序。

6.作為函數(shù)參數(shù)傳遞

在 Python 中,函數(shù)可以作為參數(shù)傳遞給其他函數(shù)。lambda 表達式可以用于這種情況,以便快速定義并傳遞一個匿名函數(shù)。例如,可以使用 lambda 表達式來排序列表:

fruits = ['apple', 'banana', 'cherry', 'durian']sorted_fruits = sorted(fruits, key=lambda x: len(x))print(sorted_fruits) # ['apple', 'banana', 'cherry', 'durian']

在這個例子中,lambda 表達式 lambda x: len(x) 用于計算列表中每個元素的長度,并將其作為排序的關鍵字。

7.用于返回函數(shù)

在 Python 中,函數(shù)可以作為另一個函數(shù)的返回值。lambda 表達式可以用于快速定義并返回一個匿名函數(shù)。例如,可以定義一個函數(shù),該函數(shù)返回一個 lambda 表達式,該 lambda 表達式返回傳遞的參數(shù)的平方值:

def get_squared_function(): return lambda x: x**2f = get_squared_function()print(f(2)) # 4

在這個例子中,get_squared_function 函數(shù)返回一個 lambda 表達式 lambda x: x**2,該 lambda 表達式接受一個參數(shù)并返回其平方值。然后,返回的函數(shù)賦值給 f 變量,并在調(diào)用時用 f(2) 的方式使用。

8、用于條件表達式,與4一樣

lambda 表達式還可以用于條件表達式中,以便根據(jù)條件返回一個值。例如,可以使用 lambda 表達式來檢查列表中的每個元素是否為奇數(shù):

numbers = [1, 2, 3, 4, 5]odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))print(odd_numbers) # [1, 3, 5]

在這個例子中,lambda 表達式 lambda x: x % 2 != 0 用于檢查列表中的每個元素是否為奇數(shù),并返回一個布爾值。然后,filter 函數(shù)用于篩選列表中符合條件的元素。

9、使用Lambda函數(shù)對列表進行歸約,計算所有元素的和

from functools import reducelst = [1, 2, 3, 4, 5]total = reduce(lambda x, y: x + y, lst)print(total) # 15

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多