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

如何提取字典中Process.Extract模糊匹配结果的索引值

提取complete_dict中所有模糊匹配结果索引值的实现方法

你的complete_dict中,每条模糊匹配结果的元组固定为(匹配文本, 相似度得分, 目标索引)格式,注意:该索引是你传入的待匹配字典find_desc_dict中对应条目的键,位置在元组的第三个元素(Python下标为2),直接遍历字典取值提取即可。


基础易读版本(循环实现)

逻辑清晰,适合新手理解,默认保留所有重复出现的索引值:

all_index = []
# 遍历字典中所有搜索关键词对应的匹配结果列表
for result_list in complete_dict.values():
    # 遍历单条搜索词下的每一条匹配记录
    for single_match in result_list:
        # 提取元组第三位的索引值存入结果
        all_index.append(single_match[2])

如果需要得到不重复的索引集合,直接对结果去重即可:

# 转集合去重后再转回列表
unique_index = list(set(all_index))

简洁版本(推导式实现)

用列表/集合推导式可以一行完成提取,代码更紧凑:

# 提取所有索引(保留重复值)
all_index = [match[2] for res_list in complete_dict.values() for match in res_list]

# 直接提取去重后的索引
unique_index = list({match[2] for res_list in complete_dict.values() for match in res_list})

注意事项

  • 遍历字典时直接调用values()方法取所有匹配结果列表,比先遍历key再查值的写法效率更高
  • 如果使用的Python版本低于3.7,直接用set()去重会打乱索引原有的出现顺序,需要保序的话可以用如下写法:
# 保序去重
unique_index = list(dict.fromkeys(all_index))

用你给出的示例结构运行上述代码,去重后得到的索引结果为[19, 20, 92, 205],和示例中存储的索引值完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:30:45