TypeError:'zip'对象不可订阅。我该怎么办? [等候接听]

问题描述 投票:-5回答:1

我不是很擅长python,但我正在尝试创建2048游戏,当我使用向上或向下方向时,我在转置函数中不断出现错误,我在zip文件中存储了矩阵的信息然后通过将zip对象转换为字符串来迭代矩阵来更改矩阵的值。左右工作正常。

def transpose(self):
        self.matrix = zip(*self.matrix)
        row =self.row
        self.row =self.col
        self.col = row

        for i in range(self.row):
            self.matrix[i] = list(self.matrix[i])

即时收到错误“self.matrix [i] = list(self.matrix [i])”

python python-3.x
1个回答
0
投票

Zip返回生成器对象(我记得它是python 3中与python2相关的新内容),可能是

list(zip(*self.matrix))

或者用for循环迭代它

for i in zip([1, 2], [3, 4]):
    print(i)

会帮助你