匿名函式格式
函式名 = lambda我們可以看出,匿名函式並不是真的不能有名字。引數 :返回值
#引數可以有多個,用逗號隔開
#匿名函式不管邏輯多複雜,只能寫一行,且邏輯執行結束後的內容就是返回值
#返回值和正常的函式一樣可以是任意資料型別
匿名函式的呼叫和正常的呼叫也沒有什麼分別。 就是 函式名(引數) 就可以了~~~
匿名函式常常與內建函式配合使用,例如下面的**:
l=[3,2,100,999,213,1111,31121,333](max(l))
dic=
print(max(dic)) #k3#
找字典中值最大的key
print(max(dic,key=lambda k:dic[k])) #
k2
res = map(lambda x:x**2,[1,5,7,4,8]) #map返回乙個迭代器
for i in
res:
print(i)
res = filter(lambda x:x>10,[5,8,11,9,15]) #面試題練一練返回乙個迭代器
for i in
res:
print(i)
現有兩個元組(('a'),('b')),(('c'),('d')),請使用python中匿名函式生成列表[,]
#答案答案一test = lambda t1,t2 :[ for i,j in
zip(t1,t2)]
(test(t1,t2))
#答案二
print(list(map(lambda t:,zip(t1,t2))))
#還可以這樣寫
print([ for i,j in zip(t1,t2)])
1.下面程式的輸出結果是:練習遞迴函式:在乙個函式裡在呼叫這個函式本身。d = lambda p:p*2t = lambda p:p*3x = 2x =d(x)
x =t(x)
x =d(x)
x2.現有兩元組(('
a'),('
b')),(('
c'),('
d')),請使用python中匿名函式生成列表[,]
3.以下**的輸出是什麼?請給出答案並解釋。
defmultipliers():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in
multipliers()])
請修改multipliers的定義來產生期望的結果。
遞迴的最大深度:998.可以設定
import乙個遞迴函式的例子:sysprint(sys.setrecursionlimit(100000))
defage(n):
if n == 1:
return 40
else
:
return age(n-1)+2
print(age(4))
Python全棧學習筆記day 16 匿名函式
匿名函式 為了解決那些功能很簡單的需求而設計的一句話函式 這段 def calc n return n n print calc 10 換成匿名函式 下面給出了乙個關於匿名函式格式的說明 函式名 lambda 引數 返回值 引數可以有多個,用逗號隔開 匿名函式不管邏輯多複雜,只能寫一行,且邏輯執行結...
day16 匿名函式
匿名函式 函式名 lambda 引數1,引數2,返回值 注意 匿名函式不允許換行 匿名函式返回值和正常函式一樣可以是任意資料型別 def add x,y return x y add lambda x,y x y print add 3,6 dic def func num return dic n...
Python爬蟲day2 2 python函式詳解
1.認識python函式 函式的本質就是功能的封裝。使用函式可以大大提高程式設計的效率與程式的可讀性 2.區域性變數與全域性變數變數是有生效範圍的,這個生效範圍我們稱為作用域。作用域從變數出現開始到程式的最末的變數叫做全域性變數,作用域只在區域性的變數叫做區域性變數。3.函式引數使用詳解 函式的定義...