在 Python 中计算重叠出现的字符串出现次数
问题涉及找到一种有效的 Python 方法来计算特定子字符串的出现次数,允许对于重叠。一种建议的方法涉及迭代搜索:
def function(string, str_to_search_for): count = 0 for x in xrange(len(string) - len(str_to_search_for) + 1): if string[x:x+len(str_to_search_for)] == str_to_search_for: count += 1 return count
但是,一种可能更快的方法利用 Python find() 函数在 C: 中执行搜索
def occurrences(string, sub): count = start = 0 while True: start = string.find(sub, start) + 1 if start > 0: count += 1 else: return count
此方法利用通过以较低级语言执行搜索来提高 C 的计算效率。通过使用 while 循环,它继续搜索子字符串的出现,并在找到子字符串时递增计数变量。最终,它返回出现次数的总数,包括重叠的次数。
以上是如何在Python中有效地统计重叠子字符串的出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!