【问题标题】:slicing a string with variables, Typerror: string indices must be integers用变量切片字符串,Typeerror:字符串索引必须是整数
【发布时间】:2019-06-13 02:13:14
【问题描述】:

我正在尝试编写一个在给定字符串中查找子字符串“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: string indices must be integers”

【问题讨论】:

    标签: python


    【解决方案1】:

    默认情况下,逗号分隔的变量构成一个元组。您想改用: 来制作切片。

    加长解释:a[b,c]等价于a[(b,c)],即a以元组(b,c)为索引。要获取从bc 的元素,您需要a[b:c]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 2021-03-28
      • 2021-04-28
      • 2020-06-24
      • 2016-03-26
      • 2017-09-07
      相关资源
      最近更新 更多