python高效子字符串搜索

时间:2012-09-03 08:56:10

标签: python c performance algorithm substring

  

可能重复:
  How is string.find implemented in CPython?

我在堆栈溢出中阅读了很多帖子,比较了子字符串搜索的性能(例如Python string search efficiencyIs this the most efficient way to search for a substring?substring in python等等......)

我还查看了包含abstract.c的源代码实现。

据我所知,内置实现是一个迭代的实现:python docs

python是否有更充分的技术实现来查找子字符串:Boyer–Moore AlgorithmRabin–Karp algorithm等...... ???

修改

问题已延长: Python: Improving sub-string search by embedding sophisticated algorithms

2 个答案:

答案 0 :(得分:10)

实际的cpython字符串搜索实现在这里:

http://hg.python.org/cpython/file/tip/Objects/stringlib/fastsearch.h

似乎使用Boyer-Moore。

答案 1 :(得分:1)

核心实现不提供此级别的功能。

您可以使用Google找到Boyer-Moore或Rabin-Karp for Python的实现。