Python Lambda匿名函数详解与实战应用

木白
木白
发布时间:2026-10-13| 6人浏览过
原创

本文深入解析Python中Lambda匿名函数的定义与特性,重点演示其作为参数传递的应用场景。通过自定义函数调用及列表排序实例,展示如何利用Lambda简化代码逻辑,适用于需要简洁表达式的编程场景。

Python Lambda匿名函数概述

本文详细介绍Python中匿名函数的概念及其具体应用方法,旨在为读者提供清晰的参考与学习素材。

在Python中,使用lambda关键字可以创建匿名函数,这类函数因省略了标准def声明步骤而得名。

具体实现代码如下所示:


#定义lambda函数
sum = lambda arg1,arg2:arg1+arg2
#调用函数
totle = sum(3,5)
print ('totle = %d'%totle)

执行上述代码后的运行结果如下:

计算总和变量 totle 的值为 8。

Lambda函数支持接收任意数量的参数,但限制为仅返回一个表达式的计算结果。

由于lambda语法要求必须包含表达式,因此无法直接在其中调用print语句。

Lambda函数作为参数传递的应用场景

Lambda函数的典型应用场景是将函数作为参数进行传递。

在自定义函数中使用Lambda

第一种情况:在自定义函数中使用Lambda。


#定义函数
def myFunc(num1,num2,option):
  print('num1 = %d'%num1)
  print('num2 = %d'%num2)
  print('num1 + num2 = %d'%option(num1,num2))
#调用函数
myFunc(3,5,lambda x,y:x+y)

运行上述自定义函数后的结果如下:

变量 num1 赋值为 3,num2 赋值为 5,两者相加的结果 num1 + num2 等于 8。

将Lambda作为内置函数参数

第二种情况:将Lambda作为内置函数的参数使用。


#coding=utf-8
#定义一个列表,列表中的元素是字典
stus = [{'name':'xiaoming','age':18},
    {'name':'xiaohong','age':19},
    {'name':'xiaoxue','age':17}]
#实现列表中的元素按name排序
stus.sort(key = lambda x:x['name'])
print('列表中的元素按name排序:', stus)
#实现列表中的元素按age排序
stus.sort(key = lambda x:x['age'])
print('列表中的元素按age排序:', stus)

程序执行后的输出结果如下:

列表元素按name字段排序后的结果为:[{'name': 'xiaohong', 'age': 19}, {'name': 'xiaoming', 'age': 18}, {'name': 'xiaoxue', 'age': 17}];按age字段排序后的结果为:[{'name': 'xiaoxue', 'age': 17}, {'name': 'xiaoming', 'age': 18}, {'name': 'xiaohong', 'age': 19}]。

对Python技术感兴趣的读者,可进一步查阅本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》。

希望本文关于Python程序设计的阐述能对各位读者有所帮助。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。