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

Python如何通过不完整键前缀获取字典对应的value值

Python字典子字符串匹配取值方案

Python原生字典默认只支持精确键匹配,要通过short这个子字符串匹配到对应值,可参考以下实现:

方法1:列表推导式(确定仅有一个匹配项时使用)

foo = {
    'longkey': 1,
    'shortkey': 2,
}
target_str = 'short'
# 匹配前缀用startswith,全字符串包含匹配用target_str in k
result = [v for k, v in foo.items() if k.startswith(target_str)][0]
print(result) # 输出2

注意:如果没有匹配项或者有多个匹配项,这个写法会分别抛出索引错误或者返回第一个匹配项,适合确定匹配结果唯一的场景。

方法2:next迭代器(兼容无匹配的场景)

target_str = 'short'
# 第二个参数为无匹配时的默认返回值,可根据需求修改
result = next((v for k, v in foo.items() if k.startswith(target_str)), None)
print(result) # 输出2
  • 匹配逻辑和上面一致,没有匹配项时不会报错,直接返回你设置的默认值
  • 有多个匹配项时,返回字典遍历顺序中第一个符合要求的值(Python 3.7+字典默认保留插入顺序)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:48:02