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

Python中如何基于允许词列表实现句子内容过滤

Python实现句子白名单词汇过滤

核心逻辑

按照需求对每条输入句子做全词精确匹配过滤,仅保留出现在允许词汇列表中的词,其余内容全部剔除,无匹配词时返回空字符串:

  • 先将允许词汇列表转为集合结构,大幅提升大批量数据下的词匹配查找速度
  • 按顺序遍历每条原始句子,按空格拆分出所有独立单词
  • 逐个校验单词是否在允许词汇集合中,筛选出所有命中的词
  • 将命中的词用空格重新拼接为字符串,按原句子顺序存入结果列表

完整实现代码

# 原始输入数据
sentench = ['one from twooo or three people are here', 'he is here']
allow_wd = ['one', 'two', 'three', 'four']

# 构建允许词集合优化查找效率
allow_word_set = set(allow_wd)

Newsentench = []
for single_sent in sentench:
    # 拆分句子为独立单词
    word_list = single_sent.split()
    # 筛选命中白名单的词汇
    matched_words = [word for word in word_list if word in allow_word_set]
    # 拼接结果存入列表
    Newsentench.append(' '.join(matched_words))

# 验证输出
print(Newsentench)

代码运行后输出结果和预期完全一致:

['one three', '']

适配调整提示

  • 需支持大小写不敏感匹配时,构建允许词集合阶段统一将所有允许词转为小写,匹配判断时同步将待校验单词转小写即可
  • 句子包含标点符号时,可先通过正则re.sub(r'[^\w\s]', ' ', 待处理句子)将标点替换为空格,再做单词拆分,避免标点附着在单词上导致匹配失效
  • 需支持模糊匹配、词根匹配场景,直接替换单词校验逻辑为对应匹配规则即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:48:30