lambda 函数是 Python 中的匿名函数,该函数实质上是一个 lambda 表达式,是不需要使用 def 关键字定义的函数, lambda 函数的语法格式如下:

 lambda parameters:expression
  • parameters 是可选的参数表,通常是用逗号分隔的变量或表达式,即位置参数。
  • expression 是函数表达式,该表达式中不能包含分支或循环语句。
    expression 表达式的值将会作为 lambda 函数的返回值。

lambda 函数的应用场景是定义简单的、能在一行内表示的函数,返回一个函数类型。

例 6-13 应用 lambda 函数求圆柱体体积:

>>> import math
>>> area = lambda r:math.pi*r*r
>>> volume = lambda r,h:math.pi*r*r*h
>>> print("{:6.2f}".format(area(2)))
 12.57
>>> print(volume(2,5))
62.83185307179586

例 6-14 应用 lambda 函数,将列表中的元素按照绝对值大小进行升序排列:

>>> lst1 = [3,5,-4,-1,0,-2,-6]
>>> lst2 = sorted(lst1,key=lambda x:abs(x))
>>> type(lst2)
<class 'list'>
>>> lst2
[0, -1, -2, 3, -4, 5, -6]
>>> lst1 = [3,5,-4,-1,0,-2,-6]
>>> def get_abs(x):
	return abs(x)

>>> lst2 = sorted(lst1,key=get_abs)
>>> lst2
[0, -1, -2, 3, -4, 5, -6]

sorted() 函数对所有可迭代的对象进行排序操作。

语法:

sorted(iterable, key=None, reverse=False)  
  • iterable – 可迭代对象。
  • key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

abs() 函数返回数字的绝对值。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐