一尘不染

Python-出现重复的字符串计数

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


function('1011101111','11')

该方法返回5。

Python中有更好的方法吗?


阅读 530

收藏
2020-02-11

共1个答案

一尘不染

好吧,这可能会更快,因为它可以在C中进行比较:

def occurrences(string, sub):
    count = start = 0
    while True:
        start = string.find(sub, start) + 1
        if start > 0:
            count+=1
        else:
            return count
2020-02-11