python入门之匿名函数(lambda表达式)

本文详细介绍了Python中的lambda表达式,包括其定义、参数设置和实际应用案例。通过实例展示了lambda如何用于创建匿名函数,以及如何在排序等场景中发挥作用。此外,还探讨了lambda表达式在处理函数参数,如无参、带参、默认参数和不定长参数的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、lambda表达式定义

# 1.函数定义
"""
def 函数名():
      函数体
      return 返回值
"""


def fun1():
    return 100


print(fun1())

# 2.lambda -- 也叫匿名函数
"""
当函数只有一句代码,一个返回值时可以化简为lambda表达式
函数名 = lambda 参数列表: 表达式
"""
fun2 = lambda: 199

print(fun2())

二、lambda表达式的参数设置

# 1.无参
fun1 = lambda: 0
print(fun1())

# 2.一个参数
fun2 = lambda a, b: a + b
print(fun2(1, 2))

# 3.默认参数
fun3 = lambda string: string
print(fun3("hello zmz"))

fun4 = lambda a, b, c=100: a + b + c
print(fun4(200, 300))
print(fun4(100, 200, 399))

print("=============================")

# 4.缺省参数 -- 不定长位置参数:按位置顺序转换成元组类型
fun5 = lambda *args: args
print(fun5())
print(fun5(10, 20, 30, 40, "zmz"))
print(fun5("zmz", "lsy", "lx"))

# 5.缺省参数 -- 不定长关键字参数:转换成字典
fun6 = lambda **kwargs: kwargs
print(fun6())
print(fun6(name="zmz", age=20, gender="男"))

三、lambda表达式举例

fun1 = lambda a, b: a if a > b else b  # 三目运算符
print(fun1(100, 290))

students = [
    {'name': 'TOM', 'age': 20},
    {'name': 'ROSE', 'age': 19},
    {'name': 'Jack', 'age': 22}
]
# 按名字name升序排序
students.sort(key=lambda x: x['name'])  # reverse不写默认Flase,即升序
print(students)

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

# 按年龄降序排序
students.sort(key=lambda ag: ag['age'], reverse=True)
print(students)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十四桥_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值