日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

lambda在python中的意思_Python中的lambda的简单介绍

發布時間:2025/3/15 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lambda在python中的意思_Python中的lambda的简单介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、lambda是什么?

func=lambda x:x+1

print(func(1))

#2

print(func(2))

#3

#以上lambda等同于以下函數

def func(x):

return(x+1)

可以這樣認為,lambda作為一個表達式,定義了一個匿名函數,上例的代碼x為入口參數,x+1為函數體。在這里lambda簡化了函數定義的書寫形式。是代碼更為簡潔,但是使用函數的定義方式更為直觀,易理解。

Python中,也有幾個定義好的全局函數方便使用的,filter, map, reduce。

from functools import reduce

foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

print (list(filter(lambda x: x % 3 == 0, foo)))

#[18, 9, 24, 12, 27]

print (list(map(lambda x: x * 2 + 10, foo)))

#[14, 46, 28, 54, 44, 58, 26, 34, 64]

print (reduce(lambda x, y: x + y, foo))

#139

可以直接做一個迭代用

print(list(map(lambda x: 3, range(0,4))))

# [3, 3, 3, 3]

# x不做任何變量,3可以是函數不需要x一定是函數變量

上面例子中的map的作用,非常簡單清晰。但是,Python是否非要使用lambda才能做到這樣的簡潔程度呢?在對象遍歷處理方面,其實Python的for..in..if語法已經很強大,并且在易讀上勝過了lambda。

比如上面map的例子,可以寫成:print ([x * 2 + 10 for x in foo]) 非常的簡潔,易懂。

filter的例子可以寫成:print ([x for x in foo if x % 3 == 0]) 同樣也是比lambda的方式更容易理解。

總結

以上是生活随笔為你收集整理的lambda在python中的意思_Python中的lambda的简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。