Python函数 之 匿名函数

1.概念

匿名函数: 使用 lambda关键字 定义的表达式,称为匿名函数.

2.语法

  • lambda 参数, 参数: 一行代码
    • 只能实现简单的功能,只能写一行代码

    • 匿名函数 一般不直接调用,作为函数的参数使用的

3.代码

4.练习

python 复制代码
# 1, 定义匿名函数, 参数为两个整数数字, 求两个数字的乘积
lambda a, b: a * b.pr
# 2, 定义匿名函数, 参数为一个字典, 返回字典中 键为 age 的值
lambda x: x.get('age')
lambda x: x['age']

5.匿名函数的应用

对列表进行排序

列表.sort()

  • 只能对数字,字符串排序
python 复制代码
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=函数)
python 复制代码
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': '开发工程师'}]
python 复制代码
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': '开发工程师'}]

未完待续。。。

相关推荐
THMAIL1 天前
机器学习从入门到精通 - 机器学习调参终极手册:网格搜索、贝叶斯优化实战
人工智能·python·算法·机器学习·支持向量机·数据挖掘·逻辑回归
ERP老兵-冷溪虎山1 天前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南
科技树支点1 天前
无GC的Java创新设计思路:作用域引用式自动内存管理
java·python·go·web·编程语言·编译器
THMAIL1 天前
机器学习从入门到精通 - 集成学习核武器:随机森林与XGBoost工业级应用
人工智能·python·算法·随机森林·机器学习·集成学习·sklearn
程序员miki1 天前
Pytorch的CUDA版本安装使用教程
人工智能·pytorch·python
小冷coding1 天前
随时随地写代码:Jupyter Notebook+cpolar让远程开发像在本地一样流畅
ide·python·jupyter
偷心伊普西隆1 天前
Pandas DataFrame 指南
python·数据分析·pandas
Yokon_D1 天前
Pycharm终端pip install的包都在C:\Users\\AppData\Roaming\Python\解决办法
python·pycharm·pip
爱补鱼的猫猫1 天前
pytorch可视化工具(训练评估:Tensorboard、swanlab)
人工智能·pytorch·python
川石课堂软件测试1 天前
Oracle 数据库使用事务确保数据的安全
数据库·python·功能测试·docker·oracle·单元测试·prometheus