python找到两个字符串的共同子字符串
时间: 2023-10-01 18:03:14 浏览: 107
可以使用 Python 中的 `set` 类型和 `&` 运算符来找到两个字符串的共同子字符串。具体步骤如下:
1. 将第一个字符串的所有子字符串存储到一个集合中。
2. 将第二个字符串的所有子字符串存储到一个集合中。
3. 将这两个集合取交集,得到两个字符串的共同子字符串集合。
示例代码如下:
```python
def find_common_substrings(str1, str2):
substrings1 = set(str1[i:j] for i in range(len(str1)) for j in range(i+1, len(str1)+1))
substrings2 = set(str2[i:j] for i in range(len(str2)) for j in range(i+1, len(str2)+1))
common_substrings = substrings1 & substrings2
return common_substrings
str1 = "hello world"
str2 = "world hello"
common_substrings = find_common_substrings(str1, str2)
print(common_substrings) # 输出 {'o', 'or', 'l', 'r', 'lo', 'orld', 'wo', 'd', 'ld', 'h', 'ell', 'world', 'e'}
```
在上面的示例代码中,我们定义了一个名为 `find_common_substrings` 的函数,该函数接受两个字符串作为参数,并返回这两个字符串的共同子字符串集合。我们使用两个嵌套的循环来生成每个字符串的所有子字符串,并将它们存储到一个集合中。然后,我们使用 `&` 运算符来取这两个集合的交集,得到这两个字符串的共同子字符串集合。最后,我们将共同子字符串集合返回。
阅读全文