Python:从矩阵的行和列中获取值

新手上路,请多包涵

我正在学习如何编码,但我不太了解课程的真正运作方式。例如,如果我创建一个矩阵:

 class Matrix(object):

 def __init__(self,i,j,value):
  self.rows = i
  self.cols = j
  self.value = value

如果我有一个随机矩阵并想连续选择最大值,我可以这样写:

 for value in row

程序会知道我指的是第 i 行中的值 ij 吗?

原文由 jnmf 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 476
2 个回答

通常在 python 中,矩阵是二维数组。喜欢:

 matrix = [[11,12,13,14],[21,22,23,24],[31,32,33,34]]

//是相同的

会给你一个像这样的矩阵:

 11 12 13 14
21 22 23 24
31 32 33 34

所以你有一个存储行(外部数组)的数组,每一行都有一个数组。要访问例如位置 (2,4) 的值 24 你会做

matrix[1][3]

作为 matrix[1] = [21,22,23,24]matrix[1][3] = [21,22,23,24][3] = 24

要遍历您的矩阵(即您的二维数组),您可以执行以下操作:

 #iterate over the rows
for row in matrix:
    #max value
    max = max(row)
    print max
    #if you want to iterate over the elements in the row do:
    for element in row:
        print element

在您的示例中,您定义了一个 Matrix 类,它将使用 3 个参数进行初始化: ijvalue 你没有做更多。有关您自己的矩阵类的示例,您可以 在此处查看

原文由 niklas 发布,翻译遵循 CC BY-SA 3.0 许可协议

for value in row

代码不会让您获得行中的最大价值。它只会迭代(遍历)行中的每个项目(当然,一旦您定义了行)。您需要添加一张支票以获得最大的数字。

原文由 Vini.g.fer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题