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

如何在Python lambda函数中为字典取值设置兜底返回规则?

问题解答

该需求完全可以实现,你之前的代码报错是因为构造字典时传入的x=x是将键名固定为字符串x,而非变量x的实际值,构造出的字典根本不存在你要查询的未知键,自然会抛出KeyError。

正确实现方案

最简洁的写法是利用Python字典内置的get()方法,该方法支持传入找不到键时返回的默认值,刚好匹配你的需求:

arg = 'maybe'
res = (lambda x: dict(yes=1, no=0).get(x, x))(arg)
print(res) # 输出:maybe

你可以测试不同的arg取值:

  • 当arg='yes'时返回1
  • 当arg='no'时返回0
  • 当arg为其他任意值时,直接返回arg本身

可选写法

如果你更偏向用条件判断,也可以写为三元表达式的形式:

res = (lambda x: 1 if x == 'yes' else 0 if x == 'no' else x)(arg)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:27:04