python查找可重叠子串出现的次数和位置
时间: 2024-05-08 20:16:49 浏览: 25
以下是一个示例代码,可以查找给定字符串中可重叠子串出现的次数和位置:
```
def find_overlapping_substrings(s, sub):
count = start = 0
while True:
start = s.find(sub, start) + 1
if start > 0:
count += 1
print(f"Substring found at index {start-1}")
else:
return count
s = "ababababa"
sub = "aba"
count = find_overlapping_substrings(s, sub)
print(f"Substring '{sub}' found {count} times in string '{s}'")
```
输出:
```
Substring found at index 0
Substring found at index 2
Substring found at index 4
Substring found at index 6
Substring found at index 8
Substring 'aba' found 5 times in string 'ababababa'
```
在上面的代码中,我们使用了Python的字符串方法`find`来查找子串的位置。由于子串是可重叠的,因此我们需要使用一个循环来依次查找所有可能的子串位置。每次找到子串时,我们增加计数器并打印位置信息。最后,我们返回子串出现的总次数,并打印相应的消息。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)