如何统计List1字符串在List2中任意顺序全词匹配的出现频次
代码修改方案
你只需要将原有子串匹配逻辑替换为单词集合的子集判断即可,不需要改动原有代码的整体结构,修改后的可运行代码如下:
keyword_list = ["nike shoes"] target_keyword_list = ["nike shoes", "shoes nike", "nike airmax shoes"] check_list = [] for i in keyword_list: # 将当前关键词拆分为单词集合 kw_word_set = set(i.split()) # 判断目标项是否包含关键词的所有单词 check_freq = sum(kw_word_set.issubset(s.split()) for s in target_keyword_list) check_list.append(check_freq) print(check_list)
运行上述代码后输出[3],和预期结果一致。
如果你的实际场景中存在大小写不统一、带标点等情况,可以在拆分单词后增加统一转小写、过滤标点的预处理步骤即可适配。
内容的提问来源于stack exchange,提问作者Lee Roy
相关产品推荐
相关产品推荐

