'numpy.ndarray' 对象没有属性 'D'

'numpy.ndarray' object has no attribute 'D'

import numpy as np
rowlist = np.array([[0, 2, 3, 4, 5], [0, 0, 0, 3, 2], [1, 2, 3, 4, 5], [0, 0, 0, 6, 7], [0, 0, 0, 9, 9]])

new_rowlist = []
rows_left = set(range(len(rowlist)))
col_label_list = sorted(rowlist[0].D, key=hash)

for c in col_label_list:
    rows_with_non_zero = [ r for r in rows_left if rowlist[r][c] != 0 ]
    if rows_with_non_zero != []:
        pivot = rows_with_non_zero[0]
        new_rowlist.append(rowlist[pivot])
        rows_left.remove(pivot)

for r in new_rowlist:
    print(r)

所以我正在学习 Philip Klein 的 Coding the Matrix 书籍课程和关于高斯消元的一章,这不断出错 'numpy.ndarray' object has no attribute 'D' 我想要的是能够对称为 rowlist 的矩阵进行排序。知道如何克服这个吗?如果有任何帮助,我会在 jupyter notebook 上执行此操作 提前致谢!

有错字。没有rowlist[0].D,把这行改成下面的

col_label_list = sorted(rowlist[0], key=hash)

此外,也许从下一次开始作为学习过程,通过定位导致错误的行来尝试自己调试代码(如果您正确阅读错误消息)。