计算给定字符串出现次数的最佳方法是什么,包括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')
returns 5
Run Code Online (Sandbox Code Playgroud)
?
或者在python中有更好的方法吗?
我是python和学习的新手.给出这里 count()对字符串使用时的方法给出了一个串子串出现的次数.
所以当我这样做时:
'BANANA'.count('ANA')
预期输出应为2,因为'ANA'在'BANANA'中出现两次,但count返回1.
有人可以解释一下,或者我可能误解了一些东西.
请指出我正确的方向.