Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中连续子字符串的count()_Python - Fatal编程技术网

python中连续子字符串的count()

python中连续子字符串的count(),python,Python,为什么以下程序在python中返回1而不是2 print "abcdcdc".count("cdc") 子字符串cdc出现在两个位置(一个从索引2开始,另一个从索引4开始)。count()究竟是如何工作的 因为count()返回子字符串的非重叠出现次数。请参阅。我可以为您介绍 str.count(sub[,start[,end]]) 返回[开始,结束]范围内子字符串sub的非重叠出现次数。可选参数start和end解释为切片表示法 如果要计算重叠出现的总次数,可以使用re模块: import

为什么以下程序在python中返回1而不是2

print "abcdcdc".count("cdc")
子字符串cdc出现在两个位置(一个从索引2开始,另一个从索引4开始)。count()究竟是如何工作的

因为
count()
返回子字符串的非重叠出现次数。请参阅。

我可以为您介绍

str.count(sub[,start[,end]])

返回[开始,结束]范围内子字符串sub的非重叠出现次数。可选参数start和end解释为切片表示法


如果要计算重叠出现的总次数,可以使用
re
模块:

import re
text = 'abcdcdc'
len(re.findall('(?=cdc)', text))
>>> 2
仅返回1,因为值
cdc
自身重叠

abcdcdc
  |-|
    |-|
要获得值2,您需要两个不重叠的
cdc
实例或使用正则表达式:

import re
len(re.findall('(?=cdc)', 'abcdcdc'))

下次询问之前,请考虑阅读手册。你在找这个吗?