首页 > 解决方案 > Python中的类矩阵

问题描述

我正在处理一些家庭作业问题,但我被困在这个矩阵问题上。我们在课堂上从来没有真正讨论过太多,所以我有点迷茫。

这是提示:“创建您自己的Matrix 类来存储数字矩阵。在引擎盖下,将矩阵实现为列表列表。让外部列表表示行,内部列表表示列。例如,位置 0 在外部列表应该是一个包含第 0 行所有列的值的列表,外部列表中的位置 1 是另一个包含第 1 行所有列的值的列表,依此类推。构造函数应采用两个数字,即行数和列,并初始化矩阵以包含所有零。实现一个方法“assign”以获取参数 n、m 和 value,并将 value 分配给矩阵中的位置 (n,m)。实现一个方法“retrieve”以获取参数 n和 m,并返回矩阵中位置 (n, m) 处的值。"

我从这样的事情开始,但我不确定我是否正确解释了这个问题或者我会从那里去哪里:

class Matrix:
    def __init__(self,n,m):
        self.rows=n[0]
        self.cols=m[1]

任何帮助或提示将不胜感激!

标签: pythonmatrix

解决方案


就像是:

class Matrix:
    def __init__(self, n, m):
        self.matrix = [[0] * m for _ in range(n)]

    def assign(self, n, m, value):
        self.matrix[n][m] = value

    def retrieve(self, n, m):
        return self.matrix[n][m]

在里面:

m = Matrix(3, 4)

查看矩阵:

m.matrix

出去:

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

m.assign(0, 1, 5)

m.matrix

[[0, 5, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

m.retrieve(0, 1)

出去:

 5

推荐阅读