在python中获取矩阵的值

时间:2018-01-12 05:18:37

标签: python matrix

我是python的新手,我尝试使用循环在2维列表中存储整数值(我在C中使用此逻辑来获取矩阵的输入)。当我运行此代码时,它显示 IndexError:列表分配索引超出范围。是什么导致了这个错误 代码以矩阵形式打印1-9的数字:

num=1
a=[[]]
for i in range(0,3):
    for j in range(0,3):
        a[i][j]=num
        ++num
for i in range(0,3):
    for j in range(0,3):
        print(a[i][j]+" ")
    print("\n")

1 个答案:

答案 0 :(得分:0)

您需要使用append动态分配内存。另外,++num不会按照您的想法执行,您需要num += 1

num=1
a = []
for i in range(0,3):
    a.append([])
    for j in range(0,3):
        a[i].append(num)
        num += 1

for i in range(0,3):
    for j in range(0,3):
        print(str(a[i][j]) + " ", end="")
    print("\n")

另外,你应该看一下numpy库,它使矩阵运算和线性代数变得简单,高效和优化。 numpy中的等效代码是:

import numpy as np
mat = np.arange(1,10).reshape(3,3)
print(mat)