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

Python不导入库实现从二维列表中搜索含指定关键词的子列表并输出

问题解决方法

卡住位置的代码补全

你卡在输出匹配子列表的位置,直接遍历已经生成的CleanData二维列表,匹配姓名对应的子项即可,把print(?)替换为以下代码:

for record in CleanData:
    # 子列表第一个元素为姓名,匹配输入的搜索词
    if record[0] == name:
        print(f"found, {record[0]} {record[1]}")
        # 匹配到后直接终止遍历,避免不必要的循环
        break

现有代码的问题优化

你当前写的代码存在几个逻辑错误,运行会报错,建议调整为以下完整可运行版本,全程没有引入第三方库,符合你的需求:

def searchName():
    # 一次读取文件并解析为二维列表,避免重复IO操作
    clean_data = []
    with open("namelist.txt", "r", encoding="utf-8") as f:
        for record in f:
            stripped = record.strip()
            # 跳过空行
            if not stripped:
                continue
            record_list = stripped.split("\t")
            clean_data.append(record_list)
    
    name = input("Enter name: ")
    found = False
    for item in clean_data:
        if item[0] == name:
            print(f"found, {item[0]} {item[1]}")
            found = True
            break
    if not found:
        print("User not found")
    return found

# 调用函数执行搜索
searchName()

逻辑说明

  • 全程只读取一次文件,解析为结构化的二维列表后再做匹配,性能更高
  • 避免了name in datafile的模糊匹配问题,比如年龄字段包含姓名对应字符的情况下不会出现误判
  • 匹配到目标姓名后直接终止遍历,适合大体积二维列表的搜索场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:24:05