匿名函式的關鍵字為lambda : 冒號前面是形參,冒號後面是返回值
1.匿名函式的可變引數和關鍵字引數:引數為字典
*args 可接受多個值
def fun(*args,**kwargs):
return args,kwargs
print(fun([1,2,3,4,5]))
print(lambda *args,**kwargs:(args,kwargs))
結果:(([1, 2, 3, 4, 5],), {})
at 0x7f08943c9400>
例1:
求和:
def add(x,y):
return x + y
print(add(1,2))
結果:3
利用匿名函式:
from functools import reduce
def add(x,y):
return x + y
print(reduce(lambda x, y: x + y,[1,2,3,4,5]))
結果:15
例2:
求0-4每個數字的平方並輸出
def mypow(x):
return x ** 2
print(list(map(lambda x:x**2,range(5))))
結果:[0, 1, 4, 9, 16]
例3: 找出1——100之間的偶數
print(list(filter(lambda x:x%2==0,range(100))))
練習:
將下面列表中的0放在最後,其他非0數字保持順序不變
nums = [0,7,0,1,2,1,5,1,7,8,0,67,1,3,4]
nums = [0,7,0,1,2,1,5,1,7,8,0,67,1,3,4]
print(sorted(nums,key=lambda x:1 if x == 0 else 0))
結果:[7, 1, 2, 1, 5, 1, 7, 8, 67, 1, 3, 4, 0, 0, 0]
練習:生成驗證碼
import random
import string
code_str = string.ascii_letters + string.digits
def gen_code(len=4):
return ''.join(random.sample(code_str,len))
print([gen_code(len=6) for i in range(1000)])
Python3學習筆記09 匿名函式lamdba
關鍵字lambda表示匿名函式,冒號前面,面的x表示函式引數。匿名函式有個限制,就是只能由乙個表示式,不用寫return,返回值就是該表示式的結果。匿名函式有個好處,因為函式沒有名字,不必擔心函式名稱衝突。此外,匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該函式 f l...
python中的匿名函式
匿名函式的定義 在python語言中除了def語句用來定義函式之外,還可以使用匿名函式lambda,它是python一種生成函式物件的表示式形式。匿名函式通常是建立了可以被呼叫的函式,它返回了函式,而並沒有將這個函式命名,普通函式需要去依靠函式名去呼叫而匿名函式沒有,所以需要把這個函式物件複製給某個...
python中的匿名函式
匿名函式 如果使用lambda 匿名 函式,map 函式和reduce 函式還能進一步簡化.lambda函式能實現普通一樣的功能,能傳入引數,也能返回運算結果 不同的是lambda函式沒有函式名,通常只有一行的表示式,函式的複雜程度也有限.匿名函式的關鍵字為 lambda 冒號前面是形參 冒號後面是...