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': '开发工程师'}]

未完待续。。。

相关推荐
seasonsyy9 分钟前
1.安装anaconda详细步骤(含安装截图)
python·深度学习·环境配置
半新半旧27 分钟前
python 整合使用 Redis
redis·python·bootstrap
Blossom.1181 小时前
基于深度学习的图像分类:使用Capsule Networks实现高效分类
人工智能·python·深度学习·神经网络·机器学习·分类·数据挖掘
CodeCraft Studio1 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
悠哉悠哉愿意1 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
封奚泽优1 小时前
使用Python实现单词记忆软件
开发语言·python·random·qpushbutton·qtwidgets·qtcore·qtgui
Goona_2 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
xw33734095643 小时前
彩色转灰度的核心逻辑:三种经典方法及原理对比
人工智能·python·深度学习·opencv·计算机视觉
倔强青铜三3 小时前
为什么 self 与 super() 成了 Python 的永恒痛点?
人工智能·python·面试
墨尘游子3 小时前
目标导向的强化学习:问题定义与 HER 算法详解—强化学习(19)
人工智能·python·算法