在迭代器中有效地使用Acora / Existence结果?

时间:2013-01-03 22:45:17

标签: 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 在那里的事实就足够了。

我可以用迭代器找到它吗?看看最多只有一个匹配吗?

我问这个是因为我只是将acora与基本字符串匹配时间设置为2个嵌套循环并且慢了4倍,这看起来很荒谬。

1 个答案:

答案 0 :(得分:1)

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