gpt4 book ai didi

python - 为什么我总是收到错误 "list"对象没有属性 'tranpose' ?

转载 作者:太空宇宙 更新时间:2023-11-03 17:45:23 24 4
gpt4 key购买 nike

这是我的代码:

class Matrix(object):
"""List of lists, where the lists are the rows of the matrix"""
def __init__ (self, m=3,n=3,ma=[[1,2,3],[4,5,6], [7,8,9]]):
self.n_rows=m
self.n_cols=n
self.matrix=ma=list(ma)

def __repr__(self):
"""String representation of a Matrix"""
output= "Matrix: \n{} \n Your matrix has \n {} columns \n {} rows"\
.format(self.matrix, self.n_cols, self.n_rows)
return output

def transpose (self):
"""Transpose the Matrix: Make rows into columns and columns into rows"""
ma_transpose=[]
for r in zip(*self.matrix):
ma_transpose.append(list(r))
return ma_transpose


def matrixmult (self,other):
"""Matrix Multiplication of 2 Matrices"""
m2=other.matrix
ma2_t=m2.transpose()
table=[]
for r in self.matrix:
row=[]
for n in ma2_t:
row.append(dot_mult(r,n))
table.append(row) into a list of row
res=table
return res

但是每次我尝试使用matrixmult函数时,我总是得到“列表对象没有属性matrixmult”。这是为什么?我之前已经在代码中定义过了,没有?

ma2_t=m2.transpose()

属性错误:“列表”对象没有属性“转置”

有人可以帮忙吗?

最佳答案

matrixmult() 的最后一行返回一个list。它应该返回一个 Matrix 对象:

return Matrix(self.n_rows, other.n_cols, res)

此外,在 transpose 方法中,您应该具有:

return Matrix(self.n_cols, self.n_rows, ma_transpose)

关于python - 为什么我总是收到错误 "list"对象没有属性 'tranpose' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29883015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com