python學習筆記-簡化的def:lambda function

2020/02/27 python

精通python的時候其實沒有很懂lambda,看了udemy的某課程影片才比較了解一些

def函式

要懂lambda一定要先知道一下def,def就是可以自己些功能的東西

def square(num):
    return num**2

上面的def是可以把輸入的數變成平方輸出,square(2),輸出結果即為4

lambda:簡化的def function

上面的def可以寫成一行,

def square(num):return num**2

defreturn去掉

square(num):num**2

再把function名稱和參數括號去掉,最前面加上lambda,lambda函式

lambda num:num**2

lambda使用情境

你可以幫lambda指定變數,呼叫的方式就和使用def的時候一樣

square=lambda num:num**2

square(2)
4

但lambda比較常見的狀況是,你只需要這function一次,就不必要寫個def出來,若搭配map()

map():可以對list的所有值做某個你要的function,並返回一個新的list,map(function,引入list)

list_a=[1,2,3,4]
list_b=list(map(lambda num:num**2,list_a))

list_b
[1, 4, 9, 16]

不推 精通python

後來發現,精通python範例都寫得好複雜,可能我太駑鈍,雖然他榜上有名。蠻推另一本的:Python 自動化的樂趣

參考資料


留言

Table of Contents