首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与函数任意和“不止一次”关键字有关的Python编码

与函数任意和“不止一次”关键字有关的Python编码
EN

Stack Overflow用户
提问于 2016-01-05 06:01:00
回答 3查看 140关注 0票数 0

我有一段简单的代码,告诉我给定列表中的一个单词是否出现在一篇文章中:

代码语言:javascript
运行
复制
 if not any(word in article.text for word in keywords):
        print("Skipping article as there is no matching keyword\n")

我需要的是,如果“关键字”列表中至少有3个单词出现在文章中--如果它们没有出现,那么应该跳过这篇文章。

有什么简单的方法吗?我似乎什么都找不到。

EN

Stack Overflow用户

发布于 2016-01-06 02:40:15

我的短信和列表都很长

如果文本很大,并且有许多关键字,那么可以使用Aho-Corasick算法 (如grep -Ff keywords.txt text.txt),例如,如果要查找不重叠的事件,可以使用套餐 (未测试):

代码语言:javascript
运行
复制
#!/usr/bin/env python
from itertools import islice
from noaho import NoAho  # $ pip install noaho

trie = NoAho()
for word in keywords:
    trie.add(word)
found_words = trie.findall_long(article.text)
if len(list(islice(found_words, 3))) == 3:
    print('at least 3 words in the "keywords" list appear in the article')
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34605144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档