如何解决使用复杂索引时列出索引错误
我正在尝试调用函数testPieceCollision
,但出现列表索引错误:
这是testPieceCollision
的定义:
def testPieceCollision(player=None):
for x in range(5):
for y in range(5):
if pieceTilemaps[pieceID][pieceR][y][x]is not None and(gameBoard[pieceY+y][pieceX+x]if player is None else gameBoard[player][pieceY[player]+y][pieceX[player]+x])is not None:
return True
return False
这是错误日志:
Traceback (most recent call last):
File "C:\Users\Ninji2701\Desktop\Pile-o-Stuff\Master Stacker\Master Stacker.py",line 525,in <module>
if testPieceCollision(currentPlayerHandle):
File "C:\Users\Ninji2701\Desktop\Pile-o-Stuff\Master Stacker\Master Stacker.py",line 28,in testPieceCollision
if pieceTilemaps[pieceID][pieceR][y][x]is not None and(gameBoard[pieceY+y][pieceX+x]if player is None else gameBoard[player][pieceY[player]+y][pieceX[player]+x])is not None:
TypeError: list indices must be integers or slices,not list
作为参考,player
是一个int,pieceID
,pieceR
,pieceX
和pieceY
都是int列表,而gameBoard是一个复杂列表结构,其默认值为[[[None,None,-1,-1]
×40 + [-1,-1]
×5 ]
×2 ]
解决方法
您的索引之一是列表,这就是错误的意思。找出问题的最佳方法是在引发错误的行之前打印要用作索引的每个变量,并在下一行添加“ exit()”以终止在引发错误消息的行之前的代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。