在 Python...
我在一个类中定义了一个嵌套列表:
self.env = [[ None for i in range(columnCount)] for j in range(rowCount) ]
出于这个问题的目的,让我们假设这个嵌套列表包含以下值:
[None, None, None, None]
[None, None, None, None]
[None, None, 0, None]
[None, None, None, None]
我需要能够利用iter和 next() 方法以列主要顺序(row0、col0、row1、col0、row2、col0 ...)来遍历此列表。
目的是让它将位于该网格位置的值发送到另一个函数以进行处理。
到目前为止,我将iter函数定义为:
def __iter__(self):
return iter(self.env)
然后我将下一个函数定义为:
def next(self):
self.currentRow += 1
self.currentColumn += 1
if ( (self.currentRow < self.getRowCount()) and (self.currentColumn < self.getColumnCount()) ):
return self.env[self.currentRow][self.currentColumn]
else:
raise StopIteration
我遇到的问题是,似乎iter函数将每一行作为列表返回,但它没有调用下一个方法来进一步处理该列表。
我的目标是逐个打印每个网格位置的值......如:
无 无 ... 无 0 无 ... 无
有人可以详细说明为了实现这一目标我缺少什么吗?