【问题标题】:Python-Use of list of lists [closed]Python-使用列表列表[关闭]
【发布时间】:2022-01-07 22:34:51
【问题描述】:

构造一个名为Matrix 的类来表达数字矩阵的含义。初始化函数__init__ 应将数字列表列表作为参数,并将其存储在变量矩阵中。

在定义变量之前,必须检查矩阵维度的有效性(即所有列表是否具有相同的长度)。

__init__ 还应该定义两个名称为columnsrows 的列表。这些列表将由Vector 类的对象组成,分别是列和行向量。此外,dim 变量应定义为一对(组)数字,其中第一个与表中的行数一样多,第二个与列数一样多。

我们如何将列表列表作为参数给出? 我们如何使用这个列表列表来检查所有列表是否都有长度? 第三个问题,我们如何使用列表的列表来获取所有行的元组和所有列的元组?

到目前为止我的代码是:

class Matrix:
    def __init__(self, matrix) :
        self.matrix = matrix
        self.columns 
        self.rows  
        self.dim = (len(self.rows) , len(self.columns))

【问题讨论】:

  • 如果我错了,请纠正我,但它似乎你正试图让 StackOverflow 做你的功课
  • 不,我只是想要一些帮助,以便我开始编写代码。我不想要确切的解决方案。
  • 还有很多工作要做,事实上,你显然还需要实现一个vector 类。不过,您的下一步是在为 self.matrix 分配一个值之前,您需要验证提供的列表列表的每个子列表的大小是否相同。此信息与子列表的数量相结合还可以让您设置 self.dim
  • 如果不为您编写大部分代码,我不确定我们如何回答这些问题。

标签: python list class matrix computer-science


【解决方案1】:
  1. 编写一个列表,其元素也是列表,例如[[1, 2], [3, 4]]
  2. 获取列表列表中第一个列表的长度。然后使用all() 之类的函数来测试所有其他嵌套列表的长度是否相同。
  3. 要创建rows 变量,请使用列表推导将self.matrix 的每一行转换为Vector 并将它们收集到一个列表中。要制作 colums 变量,请使用嵌套循环。外部循环遍历列号(从0len(self.matrix[0])),内部循环遍历每一行,将列号中的所有值收集到Vector 中。然后将这些向量收集到分配给self.columns 的列表中。

【讨论】:

    猜你喜欢
    • 2016-03-15
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多