Python 错误“int”对象不可下标

Python 错误“int”对象不可下标,python,compiler-errors,galois-field,Python,Compiler Errors,Galois Field,我正在学习python,你能帮我写这段代码吗 伽罗瓦场异或 代码是 我得到了这个错误 python lab5.py :( Traceback (most recent call last): File "lab5.py", line 9, in <module> print (generateGF(2,3)) File "lab5.py", line 4, in generateGF a[x][y] =

我正在学习python,你能帮我写这段代码吗 伽罗瓦场异或 代码是

我得到了这个错误

python lab5.py                             :(
Traceback (most recent call last):
  File "lab5.py", line 9, in <module>
    print (generateGF(2,3))
  File "lab5.py", line 4, in generateGF
    a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3) # limited for 2^3
TypeError: 'int' object is not subscriptable

问题是一行中有太多的表达式,因此很难准确地确定要下标哪个整数

拆分表达式:

a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3)
同:

filled_x = bin(x)[2:].zfill(3)
filled_y = bin(y)[2:].zfill(3)

a[x][y] = filled_x + filled_y
然后您就知道是哪个下标导致了错误


实际上,从技术上讲,你可能也需要拆分a[x][y],但是从你的测试数据中我们可以看到a是2,所以这就是问题的原因

a是整数2,那么你期望a[x][y]是什么意思呢?当你遇到这样的错误时,拆分子表达式,这样你就能得到更准确的信息。在你的第二个循环中,你有z[i][j]。变量z是在哪里定义的?你能解释一下为什么2会导致问题吗?2是一个整数,没有子数据可访问。2[x]没有意义。
filled_x = bin(x)[2:].zfill(3)
filled_y = bin(y)[2:].zfill(3)

a[x][y] = filled_x + filled_y