Python认为我的元组是一个整数

2024-09-27 04:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图打印出给定子字符串在字符串中的位置,但是在第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

Tags: and字符串inmost错误callonesentence
1条回答
网友
1楼 · 发布于 2024-09-27 04:25:53

tracked = (p)是整数,不是元组。方括号不一定创建元组,因为它们也用于表达式中的运算符优先级。在本例中,它只是将其作为一个表达式进行求值,因此(p)的计算结果为p。{cd4元组,如果你想加上。在

虽然在您的例子中,您尝试调用tracked[1], tracked[2],但这两个调用对于单个项元组都无效。现在还不清楚您要做什么,但是元组是显式不变的(意味着它们不会改变,不能被附加到等等),而且看起来列表更可能是您所需要的。在

相关问题 更多 >

    热门问题