我在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,太奇怪了!
答案 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