gpt4 book ai didi

Python OOP __Add__ 矩阵在一起(循环问题)

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:42 26 4
gpt4 key购买 nike

class Matrix:
def __init__(self, data):
self.data = data

def __repr__(self):
return repr(self.data)

def __add__(self, other):
data = []

for j in range(len(self.data)):
for k in range(len(self.data[0])):
data.append([self.data[k] + other.data[k]])
data.append([self.data[j] + other.data[j]])
data = []

return Matrix(data)

x = Matrix([[1,2,3],[2,3,4]])
y = Matrix([[10,10,10],[10,10,10]])
print(x + y,x + x + y)

我能够让矩阵添加 1 行 n 列,但是当我试图通过添加第二个循环来改进所有 n 乘 n 矩阵时,我遇到了这个错误。

Traceback (most recent call last):

line 24, in <module>
print(x + y,x + x + y)

line 15, in __add__
data.append([self.data[k] + other.data[k]])

IndexError: list index out of range

最佳答案

这个怎么样:

class Matrix:
def __init__(self, data):
self.data = data

def __repr__(self):
return repr(self.data)

def __add__(self, other):
data = []

for j in range(len(self.data)):
data.append([])
for k in range(len(self.data[0])):
data[j].append(self.data[j][k] + other.data[j][k])

return Matrix(data)

关于Python OOP __Add__ 矩阵在一起(循环问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328684/

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