您如何在类Python中创建整数列表

时间:2018-11-27 00:26:06

标签: python list

由于某些原因,此代码引发此错误:

player.py:

class player():
    def __init__(self, x, y, width, height):
        self.collisionXY[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

错误:

line 21, in __init__
self.collisionXY[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
AttributeError: 'player' object has no attribute 'collisionXY'

我要存储的是碰撞rect的x1,x2,y1,y2坐标作为intlashXY列表中的整数,如何固定代码来做到这一点

2 个答案:

答案 0 :(得分:1)

如果您想为该变量分配一个列表,它将是

self.collisionXY = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

或者只是

self.collisionXY = [0]*16

撰写时

self.collisionXY[16] =...

,它被解释为试图写入self.collisionXY中的索引16,这会产生错误,因为尚未定义self.collisionXY

答案 1 :(得分:0)

您正在尝试创建一个由16个int组成的数组,这些数组初始化为0。

您可以使用列表

self.collisionXY = [0]*16

元组:

self.collisionXY = (0,)*16

array

import array
...
self.collisionXY = array.array('l', [0]*16)