如何在Python中迭代2D矩阵?

2024-09-26 22:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在思考如何设置迭代代码时遇到了麻烦,我构建了一个列表列表矩阵

for _ in range(rowsLen):
    self.matrixRC.append([2 for _ in range(collsLen)])

我现在的迭代代码以错误的方式迭代。在

^{pr2}$

通过以错误的方式迭代,我的意思是它首先显示matrixRC[0][0]然后matrixRC[0][1]等的值,但是我希望它显示matrixRC[0][0]然后matrixRC[1][0]

或者如果它已经显示matrixRC[0][0],那么matrixRC[1][0]那么我希望它显示matrixRC[0][0],然后matrixRC[0][1]。我真的很难想象这个迭代代码是如何工作的(我复制的代码中的一部分)。在


Tags: 代码inself列表for错误方式range
2条回答

这应该是有效的:

def __iter__(self): 
       yield from chain.from_iterable(zip(*(self.matrixRC or [])))

def __next__(self):
    return next(iter(self))
def __iter__(self): 
       for i in zip(*self.matrixRC):
            for j in i:
                yield j

    def __next__(self): 
        for i in zip(*self.matrixRC):
            for j in i:
                return j

相关问题 更多 >

    热门问题