我正在尝试编写一个脚本,该脚本在给定字符串中找到子字符串'bob'。我认为字符串切片将是一个很好的方法,但是我收到“ TypeError:字符串索引必须是整数”。我对此感到困惑,因为据我所知,用作索引的两个变量都是整数。
即使此代码不是实现此目的的有效方法,我也很好奇为什么我在使用变量作为索引时会遇到问题,因为我所有的谷歌搜索都表明这样做是可以的。>
s = 'azcbobobegghakliia'
bob = 'bob'
startindex = 0
endindex = 2
numBob = 0
while len(s) > endindex:
if s[startindex,endindex] == 'bob':
numBob += 1
startindex += 1
endindex += 1
print(numBob)
我希望它打印2,因为此字符串中包含两次“ bob”(... bobob ...)。实际输出为“ TypeError:字符串索引必须为整数”
答案 0 :(得分:1)
默认情况下,用逗号分隔的变量组成一个元组。您想使用:
来制作切片。
更长的解释:a[b,c]
等效于a[(b,c)]
,即a
被元组(b,c)
索引。要将元素从b
到c
,需要a[b:c]
。