计算给定字符串的出现次数(包括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中有更好的方法吗?
好吧,这可能会更快,因为它可以在C中进行比较:
def occurrences(string, sub): count = start = 0 while True: start = string.find(sub, start) + 1 if start > 0: count+=1 else: return count