我需要创建一个将标量与矩阵相乘而不使用numpy的函数。这里的问题是该函数不会返回矩阵。(因此,下面的矩阵需要返回[[2,4],[6,9.0],[10,84]]
def mul_mat_by_scalar(mat, alpha):
# Write the rest of the code for question 5 below here.
mat_new = []
for j in mat:
for i in j:
a = (i* alpha)
mat_new.append(a)
continue
return mat_new
print mul_mat_by_scalar([[1,2], [3,4.5], [5,42]], 2)
答案 0 :(得分:0)
我宁愿使用这样的列表理解:
def mul_mat_by_scalar(mat, alpha):
return [[alpha*j for j in i] for i in mat]
它只是将mat
中的每个元素乘以alpha
并返回新矩阵。
对于您的工作方式,您必须附加列表,而不仅仅是a
。您将这样写:
def mul_mat_by_scalar(mat, alpha):
# Write the rest of the code for question 5 below here.
mat_new = []
for j in mat:
sub_mat=[]
for i in j:
a = i* alpha
sub_mat.append(a)
mat_new.append(sub_mat)
return mat_new
但这很丑而不是pythonic