Python 中的lambda函数表达式

lambda x:x+n

这是一个 Python 中的lambda函数表达式。它定义了一个匿名函数,该函数接受一个参数x,并返回x+n的值。再定义常数n。

n = 5
my_function = lambda x: x + n
print(my_function(3))  

运行结果:

在上述代码中,首先定义了变量n5,然后定义了lambda函数my_function(),它会将传入的参数x加上n的值。当调用my_function(3)时,会返回3 + 5,即8。也就是,x是变量,可以累加n。

在 Python 中,可以使用以下方式定义一个带有多个参数的lambda函数:

# 定义一个接受两个参数并返回它们之和的lambda函数
add = lambda x, y: x + y
print(add(3, 5))  # 输出: 8

# 定义一个接受三个参数并返回它们乘积的lambda函数
multiply = lambda a, b, c: a * b * c
print(multiply(2, 3, 4))  # 输出: 24

lambda函数的定义中,参数列表放在lambda关键字之后,用逗号分隔,然后是一个冒号,冒号后面是函数的返回表达式。

继续活用lambda函数。

def increment(n):
    return lambda x:x+n
f=increment(5)
print(f(3))

lambda函数常常作为参数传递给其他函数,例如map()filter()sorted()等函数。

# 使用map函数和lambda函数对列表中的每个元素求平方
nums = [1, 2, 3, 4, 5]
squared_nums = list(map(lambda x: x ** 2, nums))
print(squared_nums)  # 输出: [1, 4, 9, 16, 25]

# 使用filter函数和lambda函数过滤出列表中的偶数
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)  # 输出: [2, 4]

# 使用sorted函数和lambda函数按照元素的绝对值大小对列表进行排序
nums = [-3, 1, -2, 4, -1]
sorted_nums = sorted(nums, key=lambda x: abs(x))
print(sorted_nums)  # 输出: [-1, 1, -2, -3, 4]

在一些简单的函数逻辑场景下,使用lambda函数可以避免定义过多的具名函数,使代码更加简洁。

# 不使用lambda函数
def add(x, y):
    return x + y

result = add(3, 5)
print(result)

# 使用lambda函数
add_lambda = lambda x, y: x + y
result = add_lambda(3, 5)
print(result)

使用过程中,lambda函数使用lambda关键字定义,是匿名函数,没有函数名,参数列表后紧跟一个表达式,该表达式的值就是函数的返回值。可见,在一些简单的函数逻辑场景下,如果不需要定义一个具名函数,使用lambda函数可以简化代码结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值