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

如何实现Python列表的模糊搜索,输入部分字符即可匹配并打印?

实现商品列表的模糊搜索功能

你的需求可以通过检查搜索词是否为字段的子串来实现,原代码的问题在于仅判断搜索词是否是某个字段的精确匹配,而非包含关系。以下是具体实现方法:

核心思路

遍历每个商品条目,对条目中的每个字段(或指定字段,比如仅商品名称),检查搜索词是否包含在该字段内。还可以加入大小写不敏感处理,提升用户体验。

修改后的完整代码

itemList = []
search = input("请输入搜索内容:")  # 替换为你的搜索输入逻辑

# 读取文件生成商品列表
with open("itemList.txt", "r") as itemFile:
    for row in itemFile:
        row = row.strip("\n")
        itemList.append(row.split())

# 模糊搜索并匹配结果
for item in itemList:
    # 大小写不敏感,检查任意字段是否包含搜索词
    if any(search.lower() in field.lower() for field in item):
        print(f"{item[0]} {item[1]} {item[2]} {item[3]}\n")

可选优化

  1. 仅针对商品名称搜索:如果只需要模糊匹配商品名称,把判断条件改为:
    if search.lower() in item[1].lower():
    
  2. 区分大小写搜索:去掉.lower()即可,比如:
    if any(search in field for field in item):
    

关键说明

  • 使用any()函数可以高效判断条目中是否存在符合条件的字段,无需手动遍历每个字段写判断
  • 大小写不敏感处理能让用户输入"a"时匹配到"Apple"、"Cabbage"这类包含大写字母的条目,更符合日常使用习惯

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:50:23