欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【Lambda基础】Python Lambda 函数的 9 种玩法

【Lambda基础】Python Lambda 函数的 9 种玩法

2025/6/21 14:45:31 来源:https://blog.csdn.net/weixin_42212872/article/details/143866300  浏览:    关键词:【Lambda基础】Python Lambda 函数的 9 种玩法

Lambda基础

  • 1.简单的算术运算:
  • 2.对元组列表进行排序:
  • 3. 过滤列表:
  • 4.将函数映射到列表:
  • 5.使用 Lambda、 map 和 filter:
  • 6.在关键函数中使用 Lambda:
  • 7. 动态创建函数:
  • 8.在列表推导中使用 Lambda:
  • 9.高阶函数中的 Lambda:

1.简单的算术运算:

add = lambda x, y: x + y
subtract = lambda x, y: x - y
multiply = lambda x, y: x * y
divide = lambda x, y: x / yprint(add(3, 5))        
print(subtract(8, 3))    
print(multiply(4, 6))   
print(divide(10, 2))

输出结果:

8
5
24
5.0

2.对元组列表进行排序:

pairs = [(1, 5), (2, 3), (4, 1), (3, 8)]
sorted_pairs = sorted(pairs, key=lambda x: x[1])
print(sorted_pairs)  

输出结果:

[(4, 1), (2, 3), (1, 5), (3, 8)]

3. 过滤列表:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  

输出结果:

[2, 4, 6, 8]

4.将函数映射到列表:

numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)  

输出结果:

[1, 4, 9, 16, 25]

5.使用 Lambda、 map 和 filter:

# 使用 map 将列表中的每个元素加倍numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)  # 使用 filter 过滤奇数odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers)

输出结果:

[2, 4, 6, 8, 10]
[1, 3, 5]

6.在关键函数中使用 Lambda:

# 根据每个字符串的长度对字符串列表进行排序
words = ['apple', 'banana', 'kiwi', 'orange']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)  

输出结果:

['kiwi', 'apple', 'banana', 'orange']

7. 动态创建函数:

# 使用 lambda 函数创建一个简单的计算器
calculator = {'add': lambda x, y: x + y,'subtract': lambda x, y: x - y,'multiply': lambda x, y: x * y,'divide': lambda x, y: x / y,
}result = calculator['multiply'](4, 5)
print(result)  

输出结果:

20

8.在列表推导中使用 Lambda:

# 使用列表推导对列表中每个元素求平方
numbers = [1, 2, 3, 4, 5]
squared_numbers = [(lambda x: x**2)(x) for x in numbers]
print(squared_numbers) 
#clcoding.com

输出结果:

[1, 4, 9, 16, 25]

9.高阶函数中的 Lambda:

# 以函数作为参数的高阶函数
def  operand_on_numbers ( x, y, operation ): return operation(x, y) # 使用 lambda 函数作为参数
result = operand_on_numbers( 10 , 5 , lambda x, y: x / y) 
print(result)

输出结果:

2.0

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com