python - 有效地使用 Acora/迭代器中结果是否存在?

标签 python iterator

  • 我正在使用 Python 中的 acora 库来尝试搜索多个字符串中的多个关键字。
  • 它有两个可用于搜索的函数:findallfinditer
  • findall 返回匹配列表,有点像正则表达式 findall。
  • finditer 返回一个迭代器,逐一查找结果
>>> import acora
>>> builder = acora.AcoraBuilder('ab', 'bc', 'de') 
>>> ac = builder.build()
>>> ac.findall('this-is-my-testing-phrase-which-has-ab-and-bc-and-de')  
[('ab', 36), ('bc', 43), ('de', 50)]
  • 我只想知道是否有一场比赛。我不想浪费更多的处理能力来查看是否还有类似于 findall 中的其他内容。所以事实上 ab 就在那里就足够了。

我可以用迭代器找到这个吗?看看是否最多有一场比赛?

我问这个是因为我刚刚用 2 个嵌套循环对 acora 与基本字符串匹配进行了计时,并且速度慢了 4 倍,这看起来很荒谬。

最佳答案

刚刚意识到我基本上可以循环遍历 iter 对象并在结果出现后立即中断。

关于python - 有效地使用 Acora/迭代器中结果是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14148483/

相关文章:

php - 使用 PHP 和计时器启动和终止后台 python 脚本

python - 如何处理 : ImportError:/usr/lib/x86_64-linux-gnu/libatk-1. 0.so.0: undefined symbol: g_log_structured_standard

python - 无法使用 intel MKL ScaLapack 和 Blacs 编译包

python - 如何计算可迭代对象中的非空元素?

c++ - 使用 boost::filesystem 迭代目录时可以更改文件顺序吗?

c++ - 重命名 map 迭代器的第一个和第二个

Python Gtk3 从 Gdk.RGBA 或 Gdk.Color 设置或更改 GdkPixbuf.Pixbuf 的颜色

python - Pyshark:如果相同的键名(字段名)显示具有不同值的多个条目,则只能获取第一个字段值

c++ - 通过 BOOST_FOREACH 使我的 C++ 类可迭代

java - 删除两个 ListProperty 中不重合的部分