1. 程式人生 > 實用技巧 >python應用(5):變數型別與資料結構

python應用(5):變數型別與資料結構

一、匿名函式介紹

  • 匿名函式就是不需要顯式的指定函式名。給匿名函式賦給一個名字是沒有意義的

  • 匿名函式的引數規則、作用域關係與有名函式是一樣的。關鍵字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()