我正在尝试打印出字符串中给定子字符串的位置,但是在第18行我不断收到错误
MqttCallback
我不知道为什么会这样,因为我是python的新手。但无论如何,这是我的计划:
Traceback (most recent call last):
File "prog.py", line 18, in <module>
TypeError: 'int' object has no attribute '__getitem__'
答案 0 :(得分:8)
tracked = (p)
是一个整数,而不是元组。括号不一定会创建元组,因为它们也用于表达式中的运算符优先级。在这种情况下,它只是将其评估为表达式,以便(p)
被评估为p
。如果你想把它变成一个元组,你需要添加一个逗号(p,)
,这使它成为一个元组。
虽然在您的情况下,您尝试拨打tracked[1], tracked[2]
,但这两项都不会对单个项目元组有效。目前还不清楚你要做什么,但元组是明确不可变的(意思是它们不会改变,不能附加到等等),而且看起来列表更可能是你需要的。