我试图打印出给定子字符串在字符串中的位置,但是在第18行我一直得到错误
Traceback (most recent call last):
File "prog.py", line 18, in <module>
TypeError: 'int' object has no attribute '__getitem__'
我不知道为什么会发生这种情况,因为我是python新手。但不管怎样,我的计划是:
sentence = "one two three one four one"
word = "one"
tracked = ()
n = 0
p = 0
for c in sentence:
p += 1
if n == 0 and c == word[n]:
n += 1
tracked = (p)
elif n == len(word) and c == word[n]:
print(tracked[1], tracked[2])
tracked = ()
n = 0
elif c == word[n]:
n += 1
tracked = (tracked[1], p)
else:
tracked = ()
n = 0
tracked = (p)
是整数,不是元组。方括号不一定创建元组,因为它们也用于表达式中的运算符优先级。在本例中,它只是将其作为一个表达式进行求值,因此(p)
的计算结果为p
。{cd4元组,如果你想加上。在虽然在您的例子中,您尝试调用
tracked[1], tracked[2]
,但这两个调用对于单个项元组都无效。现在还不清楚您要做什么,但是元组是显式不变的(意味着它们不会改变,不能被附加到等等),而且看起来列表更可能是您所需要的。在相关问题 更多 >
编程相关推荐