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

Python类vlookup的finder函数如何补充未匹配返回Not Found逻辑

修改说明

你需要新增未命中匹配的判断逻辑,具体改动如下:

  1. 遍历前新增匹配状态标记变量,默认值为未找到
  2. 匹配成功时更新状态标记,同时可加break终止后续无效遍历
  3. 遍历结束后判断状态,未匹配则输出"Not found"

新增代码片段

  • 遍历前新增:found = False
  • 匹配成功的逻辑块内新增:
    found = True
    break # 找到匹配后直接结束遍历,优化执行效率
    
  • 遍历结束后新增:
    if not found:
        print("Not found")
    

修改后的完整代码

def finder(lookupvalue, lookuplist, col_index):
    user_list = [
        ["Account number","Currency","Balance"],
        ["001-987654-003","USD",1300.72],
        ["001-919202-100","EUR",105.01],
        ["001-905700-100","EUR",305.00],
        ["001-908415-307","CHF",20804.98],
        ["011-974777-200","PLN",208.15],
        ["001-931654-001","USD",450.7]
    ]

    errormsg = 'Out of range'
    if col_index > 3:
        raise ValueError(errormsg)
    
    found = False
    for row in user_list:
        if row[0] == lookupvalue:
            print(row[col_index-1])
            found = True
            break
    
    if not found:
        print("Not found")

额外优化建议

当前函数参数lookuplist没有被实际使用,内部硬编码了user_list。如果需要支持传入自定义查找列表,可以删除函数内部的user_list定义,遍历逻辑直接使用传入的lookuplist参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:30:00