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

未完待续。。。

相关推荐
AI Echoes1 小时前
LangChain 非分割类型的文档转换器使用技巧
人工智能·python·langchain·prompt·agent
程序之巅1 小时前
VS code 远程python代码debug
android·java·python
__如风__2 小时前
onlyoffice文档转换服务离线部署
python
今晚务必早点睡2 小时前
写一个Python接口:发送支付成功短信
开发语言·python
ada7_2 小时前
LeetCode(python)22.括号生成
开发语言·数据结构·python·算法·leetcode·职场和发展
2501_941871452 小时前
面向微服务链路追踪与全局上下文管理的互联网系统可观测性设计与多语言工程实践分享
大数据·数据库·python
luoluoal2 小时前
基于python的语音和背景音乐分离算法及系统(源码+文档)
python·mysql·django·毕业设计·源码
love530love2 小时前
EPGF 新手教程 12在 PyCharm(中文版 GUI)中创建 Poetry 项目环境,并把 Poetry 做成“项目自包含”(工具本地化为必做环节)
开发语言·ide·人工智能·windows·python·pycharm·epgf
cute_ming2 小时前
从 Node.js + TypeScript 无缝切换到 Python 的最佳实践
python·typescript·node.js
2501_941870562 小时前
从配置频繁变动到动态配置体系落地的互联网系统工程实践随笔与多语言语法思考
java·前端·python