TypeError:'int'对象是unsubscriptable

b8b*_*b8j 8 python

在python中我收到此错误:

TypeError: 'int' object is unsubscriptable
Run Code Online (Sandbox Code Playgroud)

这发生在以下行:

sectorcalc[i][2]= ((today[2]/yesterday[2])-1)
Run Code Online (Sandbox Code Playgroud)

我无法在任何地方为python找到unsubscriptable的好定义.

for quote in sector[singlestock]:
        i+=1
        if i < len(sector):
            if i==0:
                sectorcalc[i][0]= quote[0]
                sectorcalc[i][2]= 0
                sectorcalc[i][3]= 0
                sectorcalc[i][4]= 0
                sectorcalc[i][5]= 0
                sectorcalc[i][6]= 0
                sectorcalc[i][7]= 0
            else:                    
                yesterday = sector[singlestock-1][i]

                print yesterday                                

                today = quote

                print type(today[2])
                sectorcalc[i][2]= ((today[2]/yesterday[2])-1)
                sectorcalc[i][3]= (today[3]/yesterday[3])-1
                sectorcalc[i][4]= (today[4]/yesterday[4])-1
                sectorcalc[i][5]= (today[5]/yesterday[5])-1 
                sectorcalc[i][6]= (today[6]/yesterday[6])-1
                sectorcalc[i][7]= (today[7]/yesterday[7])-1
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?

pyf*_*unc 14

今天[2]中的"[2]"称为下标.

仅当"今天"是序列类型时才可以使用此用法.本机序列类型 - List,string,tuple等

由于您收到错误 - 'int'对象是不可取消的.这意味着"今天"不是序列而是int类型对象.

当您期望序列时,您将需要查找/调试"today"或"today"为什么是int类型对象.

[编辑:说清楚]

错误可能在

  1. sectorcalc [I]
  2. 今天(已经证明是一个清单)
  3. 昨天