当使用字符串作为列表时,字符串索引必须是整数

时间:2016-03-20 15:07:00

标签: python

我在python脚本中面临一个编译错误,如下所示:

formula = "ASD"
start = 0
end = 2
print(formula, start, end, type(start), type(end))
print(formula[start, end])

输出是:

ASD 0 2 <class 'int'> <class 'int'>
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print(formula[start, end])
TypeError: string indices must be integers

但是开始,结束是int,太奇怪了!

3 个答案:

答案 0 :(得分:3)

切片的语法是:而不是,

>>> print(formula[start:end])
AS

答案 1 :(得分:2)

正如其他人所说,切片就像

一样
formula[start:end]

原始代码中的错误是因为

formula[start, end]

被解释为

formula[(start, end)]

因此字符串索引是一个元组,而不是int或切片。

答案 2 :(得分:1)

您似乎正在执行切片操作,为此,您需要使用:而不是,

formula[start:end]

演示:

formula = "ASD"
start = 0
end = 2
print(formula, start, end, type(start), type(end))
print(formula[start:end])

输出:

ASD 0 2 <class 'int'> <class 'int'>
AS