python练习| lambda表达式

一、lambda应用场景

如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化。

二、 lambda语法

lambda 参数列表 :表达式

lambda的参数可有可无,函数的参数在lambda表达式中完全适用
lambda表达式能接收任何数量的参数,但只能返回一个表达式的值。

2.1 快速入门

# 需求:函数 返回值100

# 1. 函数


# def fn1():
#     return 100
#
#
# result = fn1()
# print(result)

# 2. lambda 也叫 匿名函数
# lambda 参数列表: 表达式
fn2 = lambda: 200
print(fn2)  # 打印结果  lambda 内存地址

# 200返回值 调用函数
print(fn2())

2.2 实例:任意两个数累加和

# 需求:计算任意两个数的累加和


# 1. 函数
def add(a, b):
    return a + b


result = add(1, 2)
print(result)
# 2. lambda

fn1 = lambda a, b: a + b
print(fn1(2, 3))

三、lambda参数形式

# 1. 无参数
fn1 = lambda: 100
print(fn1())

# 2.一个参数
fn2 = lambda a: a
print(fn2('hello world'))

# 3.默认参数/缺省参数
fn3 = lambda a, b, c = 100: a + b + c
print(fn3(10, 20))  # 130
print(fn3(10, 20, 200))  # 230

# 4.可变参数 *args
fn4 = lambda *args: args
print(fn4(10, 20))
print(fn4(10, 20, 30, 40))
print(fn4(10))
# 可变参数传入lambda中后,返回值为元组

# 5.可变参数 **kwargs
fn1 = lambda **kwargs: kwargs
print(fn1(name='python'))
print(fn1(name='python', age=30))

四、lambda应用

# 带判断的lambda
# lambda两个数字比大小,谁大返回谁
fn1 = lambda a, b: a if a > b else b
print(fn1(1000, 500))

4.1列表数据按字典key的值排序

students = [
    {'name': 'TOM', 'age': 20},
    {'name': 'ROSE', 'age': 19},
    {'name': 'TINA', 'age': 18}
]
# sort(key=lambda..., reverse = bool数据)
# 1.name key 对应的值进行升序排序,升序省略reverse
students.sort(key=lambda x: x['name'])
print(students)
# 2.name key 对应的值进行降序排序
students.sort(key=lambda x: x['name'], reverse=True)
print(students)
# 3.age key 对应的值进行升序排序
students.sort(key=lambda x: x['age'])
print(students)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值