python基础---匿名函数

匿名函数

使用def定义的函数是一个普通的函数, 适合用于功能完善的代码

匿名函数使用lambda

定义

python 复制代码
lambda value1, value2 ... : 表达式
python 复制代码
lambda a, b : a + b

调用

这一个函数没有名字, 使用的时候一般使用一个变量指向这一个函数, 之后使用这一个变量进行调用

python 复制代码
my_test_func = lambda a, b : a + b
my_test_func(11, 22)

还有一种使用方式是把这一个当做函数的参数进行传递, 之后使用这一个函数的参数调用这一个函数

python 复制代码
def func_test(func):
	print(func(11, 22))

func_test(lambda a,b : a + b)

实际的使用

使用sort的时候, 不能对一个字典里列表面的数据进行排序, 这时候可以设置sort函数的key参数

这一个key指向一个函数, 这一个函数会返回一个用于比较的值

python 复制代码
stus = [
    {"name": "jiao", "age":21}, {"name": "shi", "age":23}, {"name": "dong", "age":19}, 
]

# def sort_by_age(arg):
#    return arg["age"]

# print(stus)
# stus.sort(key = sort_by_age)
print(stus)
stus.sort(key = lambda arg: arg["age"])
bash 复制代码
PS E:\JHY\python\2024-4-22> python -u "e:\JHY\python\2024-4-22\main.py"
[{'name': 'jiao', 'age': 21}, {'name': 'shi', 'age': 23}, {'name': 'dong', 'age': 19}]
[{'name': 'dong', 'age': 19}, {'name': 'jiao', 'age': 21}, {'name': 'shi', 'age': 23}]
相关推荐
Ulyanov1 天前
高保真单脉冲雷达导引头回波生成:Python建模与实践
开发语言·python·仿真·系统设计·单脉冲雷达
Li emily1 天前
成功接入A股实时行情API获取实时市场数据
人工智能·python·金融·fastapi
shehuiyuelaiyuehao1 天前
22Java对象的比较
java·python·算法
张小凡vip1 天前
Python异步编程实战:基于async/await的高并发实现
开发语言·python
霖霖总总1 天前
[小技巧69]为什么总说MySQL单表“别超 2000 万行”?一篇讲透 InnoDB 存储极限
数据库·mysql
安科士andxe1 天前
实操指南|安科士1.25G CWDM SFP光模块选型、部署与运维全攻略
运维·数据库·5g
zcbk01681 天前
不踩坑!手把手教你在 Mac 上安装 Windows(含分区/虚拟机/驱动解决方案)
python
Java爱好狂.1 天前
RDB&AOF持久化原理解析
java·数据库·redis·后端开发·java编程·java程序员·java八股文
Dev7z1 天前
滚压表面强化过程中变形诱导位错演化与梯度晶粒细化机理的数值模拟研究
人工智能·python·算法
蓝胖子Lcl1 天前
Mac安装Oracle数据库(M芯片)
数据库·macos·oracle