我正在尝试检查给定的字符串是否是另一个字符串的子字符串,并打印子字符串发生的字符串的索引值。
到目前为止,我有这段代码。为了降低复杂性,我使用单循环。
s1 = "robot"
s2 = "bot"
for i in range(len(s2)):
if s1[i] == s2[i]:
i =i +1
print(i)
或者我正在考虑这个,
for i in range(len(s1)):
for j in range(len(s2)):
if s1[i] == s2[j]
i = i+1
j = j+1
print(i)
我知道我们可以使用 in
关键字来解决这个问题,但我想了解其背后的逻辑。
请帮帮我。我正在努力解决这些问题。
答案 0 :(得分:0)
您可以使用内置字符串方法find(),它将返回子字符串的索引,如果找不到则返回-1。
>>> "robot".find("bot")
2
>>> "robot".find("Xbot")
-1
答案 1 :(得分:0)
这是一个垃圾实现:
a = 'pleb'
b = 'youreapleb'
def find(a, b):
for i, c in enumerate(b):
if a == b[i: i + len(a)]:
return i
print find(a, b)