python实现寻找相同子串
时间: 2023-09-05 08:03:49 浏览: 182
python实现查找两个字符串中相同字符并输出的方法
Python可以通过使用字符串的内置方法和函数来实现寻找相同子串的功能。以下是一个简单的实现示例:
```python
def find_same_substrings(string):
substrings = set() # 用集合来存储不重复的子串
length = len(string) # 字符串长度
for i in range(length):
for j in range(i+1, length+1):
substring = string[i:j] # 从i到j-1的子串
substrings.add(substring)
same_substrings = set() # 用集合来存储相同的子串
for substring in substrings:
if string.count(substring) > 1:
same_substrings.add(substring)
return same_substrings
# 测试
input_string = "abcabcabc"
result = find_same_substrings(input_string)
print(result)
```
以上代码中,我们首先创建一个空集合`substrings`,用于存储所有的子串。然后使用两层循环,通过切片操作得到所有可能的子串,并将它们添加到`substrings`集合中。接下来,我们再创建一个空集合`same_substrings`,用于存储重复出现的子串。通过遍历`substrings`集合中的每个子串,并使用字符串的`count`方法计算它在原字符串中出现的次数,如果大于1,则将其添加到`same_substrings`集合中。
在测试部分,我们定义了一个字符串`input_string`,使用`find_same_substrings`函数查找其中相同的子串,并将结果打印出来。
以上是一种简单的实现方法,可能不是最优的,只适用于较小的字符串。对于大型字符串或者需要更高效的实现方法,可以考虑使用其他数据结构或算法。
阅读全文