Python中的匿名函式(lambda)

2021-09-14 04:10:43 字數 1443 閱讀 6106

匿名函式的關鍵字為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 冒號前面是形參 冒號後面是...