lambda表达式

一. 语法

lambda 参数列表 : 表达式

二. 使用

复制代码
fn2 = lambda : 100
print(type(fn2))    # <class 'function'>
print(fn2)  # <function <lambda> at 0x00000192073C7F70>
print(fn2())    # 100

fn3 = lambda a, b: a+b
print(fn3(1, 2))    # 3

fn3 = lambda a, b, c=100: a+b+c
print(fn3(1, 2))    # 103

fn1 = lambda *args: args
print(fn1(10, 20, 30))  # (10, 20, 30)

fn1 = lambda **kwargs: kwargs
print(fn1(name='python', age=20))   # {'name': 'python', 'age': 20}
复制代码

说明:

1.参数可以为各种类型的参数

2.是函数的简单写法

三. 典型应用:

复制代码
students = [
    {'name': 'TOM', 'age': 20},
    {'name': 'ROSE', 'age': 19},
    {'name': 'Jack', 'age': 22}
]

# 按name值升序排列
students.sort(key=lambda x: x['name'])
print(students)

# 按name值降序排列
students.sort(key=lambda x: x['name'], reverse=True)
print(students)

# 按age值升序排列
students.sort(key=lambda x: x['age'])
print(students)
复制代码

 

posted @   foreast  阅读(83)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示