【发布时间】:2013-01-12 10:39:37
【问题描述】:
我定义了一个名为 Space 的类,用于表示 9x9 板上的空间。我想在程序开始时生成 81 个实例,方法是将它们分配给我打算用作二维数组的列表元素。
课程如下:
class Space:
def __init__(self, x_coord, y_coord):
self.row = x_coord
self.column = y_coord
这是我将实例分配给列表(也称为空间)的尝试之一:
for i in xrange(1,9):
for j in xrange(1,9):
space[i][j] = Space(i,j)
我的目标是能够使用列表索引来引用实例,就好像它们是坐标一样,即space[1][2].value = 3
我正在尝试做的事情可能吗?有没有更好的方法来批量生成实例?谢谢!
编辑:(我的回复以更易读的形式在下面)
脚本运行,但是当我尝试在命令提示符中访问它时,我的列表似乎没有定义
>>> space[1][2].value = 3
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'space' is not defined
>>> space[1][1]
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'space' is not defined
【问题讨论】:
-
你的“尝试”有什么问题?
-
请将您的回溯添加到您的问题中,以便我们阅读。
-
嗯,这是一个问题,但它是一个单独的问题。你在哪里定义了
space?你已经在某个地方定义了它,对吧? -
听起来你想从
list继承或者添加一个__getitem__函数。 -
好吧,我以为我已经在
space[i][j] = Space(i,j)行中定义了它。话虽如此,我还在循环前添加了space = [],但没有帮助。
标签: python list class instance