1.概念?
匿名函數: 使用 lambda 關鍵字 定義的表達式,稱為匿名函數.
2.語法
- lambda 參數, 參數: 一行代碼??
- # 只能實現簡單的功能,只能寫一行代碼
- # 匿名函數 一般不直接調用,作為函數的參數使用的
3.代碼
4.練習
# 1, 定義匿名函數, 參數為兩個整數數字, 求兩個數字的乘積
lambda a, b: a * b.pr
# 2, 定義匿名函數, 參數為一個字典, 返回字典中 鍵為 age 的值
lambda x: x.get('age')
lambda x: x['age']
5.匿名函數的應用
對列表進行排序
列表.sort()?
- 只能對數字,字符串排序
user_list1 = [5, 2, 3] user_list1.sort() print(user_list1) # [2, 3, 5]
列表.sort(key=鍵的值)
- 對列表中的字典排序:想要對列表中的字典排序,需要 key 形參來指定根據字典中的什么鍵排序
- key 這個參數需要傳遞一個函數,
- (1)使用匿名函數?列表.sort(key=lambda x: x['鍵'])
- (2)使用普通def函數列表.sort(key=函數)
user_list = [{'name': '張三', 'age': 22, 'title': '測試工程師'},{'name': '李四', 'age': 24, 'title': '開發工程師'},{'name': '王五', 'age': 21, 'title': '測試工程師'} ] user_list.sort(key=lambda x: x['age']) print(user_list) # [{'name': '王五', 'age': 21, 'title': '測試工程師'}, {'name': '張三', 'age': 22, 'title': '測試工程師'}, {'name': '李四', 'age': 24, 'title': '開發工程師'}]
user_list = [{'name': '張三', 'age': 22, 'title': '測試工程師'},{'name': '李四', 'age': 24, 'title': '開發工程師'},{'name': '王五', 'age': 21, 'title': '測試工程師'} ]def func(x):return x['age']user_list.sort(key=func) print(user_list) # [{'name': '王五', 'age': 21, 'title': '測試工程師'}, {'name': '張三', 'age': 22, 'title': '測試工程師'}, {'name': '李四', 'age': 24, 'title': '開發工程師'}]
未完待續。。。