Python 3.x 查找子字符串(重叠)在字符串中出现的次数

Python 3.x 查找子字符串(重叠)在字符串中出现的次数,python-3.x,string,count,substring,Python 3.x,String,Count,Substring,对于此代码 f='ana' g='banana' print(g.count(f)) 为什么它的输出是1而不是2。这是我代码中的错误。还有谁可以建议其他方法。如果答案与您的问题重复,则可能的方法是: def str_计数(字符串、子字符串): 计数=开始=0 尽管如此: 开始=字符串。查找(子,开始)+1 如果开始>0: 计数+=1 其他: 返回计数 forcount表示它返回“字符串s[start:end]中子字符串substring的(非重叠)出现次数”。Python 3的更好链接;“还是

对于此代码

f='ana'
g='banana'
print(g.count(f))
为什么它的输出是1而不是2。这是我代码中的错误。还有谁可以建议其他方法。

如果答案与您的问题重复,则可能的方法是:

def str_计数(字符串、子字符串):
计数=开始=0
尽管如此:
开始=字符串。查找(子,开始)+1
如果开始>0:
计数+=1
其他:
返回计数

for
count
表示它返回“字符串s[start:end]中子字符串substring的(非重叠)出现次数”。Python 3的更好链接;“还是说不重叠。”大卫康拉德谢谢你澄清我的疑问。还有计算“重叠”事件的任何方法。我不知道标准方法,但你可以自己写。搜索第一个匹配项,然后再次搜索它后面的一个字符,依此类推。内置方法仅查找不重叠的原因是,当它搜索匹配项时,它会向前跳到完整匹配项之后再次搜索,而不是在再次搜索下一个匹配项时只前进一个字符。是的,非常感谢。