You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

理解Python匿名函数lambda的返回类型及常见使用疑问

问题1:lambda用法报错的原因及修复

你报错的核心原因是:lambda 表达式返回的是函数对象,而 list() 构造方法要求传入的参数是可迭代对象(比如序列、生成器等),函数对象不属于可迭代类型,自然会抛出 TypeError: 'function' object is not iterable 错误。

你要实现和普通函数一样的加法器效果,需要调用这个lambda函数,传入对应参数,两种常见写法参考:

# 写法1:先把lambda赋值给变量,再调用
adder_lambda = lambda a, b: a + b
print(adder_lambda(4, 5))

# 写法2:定义lambda后直接传参调用
print((lambda a, b: a + b)(4, 5))

两种写法都会输出结果9,和你之前用普通函数实现的效果一致。


问题2:打印lambda输出的十六进制数值含义

你直接打印lambda表达式时输出的十六进制值,是这个匿名函数对象在当前Python进程的虚拟内存空间中的存储地址,每个被创建的函数对象(不管是普通def定义的还是lambda生成的)都会有唯一的内存地址作为标识,你可以理解为是这个函数对象在当前运行环境里的唯一身份标识,重复创建相同逻辑的lambda,生成的地址也会不同。


内容的提问来源于stack exchange,提问作者redpy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:15:03