python函数如何判断一个字符串是否为另一个字符串的子串 find() index() 双层循环完成 ??
时间: 2024-11-20 13:56:37 浏览: 16
在Python中,有几种方法可以判断一个字符串是否为另一个字符串的子串。其中两个常用的是 `find()` 和 `index()` 函数,它们都返回子串第一次出现的位置。如果你想要使用双层循环,虽然不是最高效的方式,但可以手动实现。
1. `find()` 函数:如果找到子串,则返回它的起始索引;如果没有找到,则返回 -1。
```python
def is_substring(s1, s2):
for i in range(len(s1)):
if s1[i:i+len(s2)] == s2:
return True
return False
# 使用示例
print(is_substring('hello', 'ell')) # 输出: True
```
2. `index()` 函数与上面类似,也是查找子串并返回其位置,但它会抛出异常(`ValueError`)如果找不到子串,而`find()`则返回 -1。
```python
def is_substring_with_index(s1, s2):
try:
s1.index(s2)
return True
except ValueError:
return False
# 使用示例
print(is_substring_with_index('hello', 'ell')) # 输出: True
```
双层循环的方式效率较低,因为每次内层循环都要检查整个字符串。通常我们会优先选择直接使用`find()`或`index()`函数,除非特定场景下有性能限制或其他考虑。
阅读全文