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

如何编写Python程序接收字符串列表,返回对应单词索引字典

倒排索引函数实现

完整可运行代码

def reverse_index(dataset):
    result = {}
    # 遍历每个字符串的索引与内容
    for idx, content in enumerate(dataset):
        # 统一转为小写后按空格拆分单词
        words = content.lower().split()
        # 去重当前行单词,避免同一行重复添加索引
        unique_words = set(words)
        for word in unique_words:
            # 单词首次出现时初始化空列表
            if word not in result:
                result[word] = []
            result[word].append(idx)
    return result

代码逻辑说明

  • 用enumerate遍历输入列表,同时获取字符串的位置索引和文本内容,无需手动维护索引计数
  • 调用lower()方法将整段文本转为小写,满足「Hello和hello视为同一单词」的大小写不敏感要求
  • 用split()按空格拆分得到单词列表,转set去重是为了符合常规倒排索引的文档级统计规则(同一字符串内单词多次出现仅记录一次索引)

备注:如果需求要求统计同一字符串内单词的多次出现(即同一字符串中出现N次单词,索引列表就追加N次对应索引),只需删除去重步骤,直接遍历拆分后的words列表即可

测试验证

用提供的测试用例验证,可直接运行通过:

dataset = [
    "Hello world",
    "This is the WORLD",
    "hello again"
 ] 

res = reverse_index(dataset)

# 校验结果符合预期
assert res == {
    'hello': [0, 2],
    'world': [0, 1],
    'this': [1],
    'is': [1],
    'the': [1],
    'again':[2]
}
print("测试通过")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:54:07