python應用(5):變數型別與資料結構
阿新 • • 發佈:2020-12-01
一、匿名函式介紹
- 匿名函式就是不需要顯式的指定函式名。給匿名函式賦給一個名字是沒有意義的
- 匿名函式的引數規則、作用域關係與有名函式是一樣的。關鍵字
lambda
表示匿名函式,冒號前面的n
表示函式引數,可以有多個引數。 - 匿名函式有個限制,就是隻能有一個表示式,不用寫
return
,返回值就是該表示式的結果。 - 用匿名函式有個好處,因為函式沒有名字,不必擔心函式名衝突。此外,匿名函式也是一個函式物件,也可以把匿名函式賦值給一個變數,再利用變數來呼叫該函式:
- 有些函式在程式碼中只用一次,而且函式體比較簡單,使用匿名函式可以減少程式碼量,看起來比較"優雅“
二、lambda匿名函式的應用:主要與其他函式聯合使用**max,min,sorted,map,reduce,filter**
1、sorted()
按年齡排序:
def sort_test():
students = [
{'name': '丹丹', 'age': 21},
{'name': '樂樂', 'age': 17},
{'name': '開始', 'age': 19},
{'name': '西紅柿炒番茄', 'age': 16}
]
print(sorted(students, key=lambda students: students['age'], reverse=False))
sorted 語法:
sorted(iterable, key=None, reverse=False)
引數說明:
- iterable -- 可迭代物件。
- key -- 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
- reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(預設)
2、max()