问题描述
def get_cofactors_matrix(self) -> 'Matrix':
"""Returns the cofactors matrix"""
cofactors = [list(map(lambda x: x[1] * x[2],[self.get_cofactor_at(i,j) for j in range(self.get_columns_count())])) for i in range(self.get_lines_count())]
...
我想简化列表理解,get_cofactor_at(line,column)
返回一个包含 3 个值的元组,因此无需使用列表理解,此代码可以用以下方式表示:
result = []
for i in range(lines):
result_line = []
for j in range(columns):
_,x,y = self.get_cofactor_at(i,j)
result_line.append(x * y)
result.append(result_line)
什么是更好的表达方式?
解决方法
我会隔离维度并使用理解来代替 list(map(lambda...
lines,cols = self.get_lines_count(),self.get_columns_count()
cofactors = [[x*y for _,x,y in self.get_cofactor_at(i,j) for j in range(cols)]
for i in range(lines)]