Python— 匿名函數

來源:互聯網
上載者:User

標籤:解釋   das   nbsp   ges   調用   類型   lam   結果   cal   

匿名函數

匿名函數:為瞭解決那些功能很簡單的需求而設計的  “一句話函數”

#初始代碼def calc(n):    return n**nprint(calc(10)) #換成匿名函數calc = lambda n:n**nprint(calc(10))

是對calc這個匿名函數的分析

# 關於匿名函數格式的說明函數名 = lambda 參數 :傳回值(相當於函數體)# 參數可以有多個,用逗號隔開# 匿名函數不管邏輯多複雜,只能寫一行,且邏輯執行結束後的內容就是傳回值# 傳回值和正常的函數一樣可以是任意資料類型

由此可見:

匿名函數並不是真的沒有名字。

匿名函數的調用和正常的調用也沒有什麼分別。 

# 把以下函數變成匿名函數def add(x,y):    return x+y# 匿名函數add = lambda x,y : x+y
匿名函數練習

 

上面是匿名函數的函數用法。

除此之外,匿名函數也不是浪得虛名。在和其他功能函數合作的時候~~~它真的可以匿名

l=[3,2,100,999,213,1111,31121,333]print(max(l))dic={‘k1‘:10,‘k2‘:100,‘k3‘:30}print(max(dic))print(dic[max(dic,key=lambda k:dic[k])])# 執行結果:31121k3100Process finished with exit code 0
匿名函數與 max 混用
res = map(lambda x:x**2,[1,5,7,4,8])for i in res:    print(i)# 執行結果125491664
匿名函數與 map 混用
res = filter(lambda x:x>10,[5,8,11,9,15])for i in res:    print(i)# 執行結果1115
匿名函數與 filter 混用
‘‘‘1.下面程式的輸出結果是:d = lambda p:p*2t = lambda p:p*3x = 2x = d(x)x = t(x)x = d(x)print x‘‘‘‘‘‘2.現有兩元組((‘a‘),(‘b‘)),((‘c‘),(‘d‘)),請使用python中匿名函數產生列表[{‘a‘:‘c‘},{‘b‘:‘d‘}]‘‘‘‘‘‘3.以下代碼的輸出是什嗎?請給出答案並解釋。def multipliers():    return [lambda x:i*x for i in range(4)]print([m(2) for m in multipliers()])請修改multipliers的定義來產生期望的結果。‘‘‘
面試題:匿名函數
# 第一題    24Process finished with exit code 0# 第二題t1 = ((‘a‘), (‘b‘))t2 = ((‘c‘), (‘d‘))t3 = zip(t1, t2)print(list(lambda t : {t[0] : t[1]}, t3))# 第三題# 答案一test = lambda t1,t2 :[{i:j} for i,j in zip(t1,t2)]print(test(t1,t2))# 答案二print(list(map(lambda t:{t[0]:t[1]},zip(t1,t2))))# 答案三print([{i:j} for i,j in zip(t1,t2)])
答案——面試題: 匿名函數

 

Python— 匿名函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.