1. 程式人生 > 實用技巧 >第八天 第六章 匿名函式

第八天 第六章 匿名函式

# 匿名函式即沒有名字的函式,通常情況下這種函式只使用一次:result = lambda [arg1 [,arg2,...argn]]:expression
# result:用於呼叫lambda表示式
# [arg1 [,arg2,...argn]]:可選引數,指定要傳遞的引數列表,多個引數用逗號隔開
# expression:必選引數,指定一個實現具體功能的表示式,如果有引數,那麼在該表示式中將應用這些引數
# 注:引數可以有多個,但表示式只能有一個,即只能返回一個值,並且不能出現其它非表示式語句,如for或while
# 如下面段程式碼:
# 1、常規程式碼
import math
def
circlearea(r): result = math.pi*r*r return result r = 10 print('半徑為:',r,'的面積是:',circlearea(r)) # 2、lambda表示式程式碼 r = 10 result = lambda r:math.pi*r*r print('半徑為:',r,'的面積是:',result(r)) # 匿名函式(lambda)的主要用途是指定短小的回撥函式 # 使用列表物件的sort()方法對列表進行排序,並且在呼叫sort()方法時,通過lambda表示式指定排序規則,優先按秒殺金額,如有重複,再按折扣比例降序排列
bookinfo = [('不一樣的卡梅拉(全套)',22.50,120),('零基礎學Android',65.10,89.80), ('擺渡人',23.40,36.00),('福爾摩斯探案全集8冊',22.50,128)] print('爬取到的商品資訊:\n',bookinfo,'\n') bookinfo.sort(key=lambda x:(x[1],x[1]/x[2])) # 按指定規則進行排序 print('排序後的商品資訊:\n',bookinfo)