我想将给定的 1x1x3 矩阵乘以一个常数值。
a= [[[1, 2, 3]]]
预期的结果是
a*3 = [[[3,6,9]]]
请帮我解决这个问题
我想将给定的 1x1x3 矩阵乘以一个常数值。
a= [[[1, 2, 3]]]
预期的结果是
a*3 = [[[3,6,9]]]
请帮我解决这个问题
使用NumPy:
In [1]: import numpy as np
In [2]: a = np.array([[[1, 2, 3]]])
In [3]: a
Out[3]: array([[[1, 2, 3]]])
In [4]: a*3
Out[4]: array([[[3, 6, 9]]])
尝试:
a= [[[1, 2, 3]]]
for i in range(len(a[0][0])):
a[0][0][i] *= 3
print a
这是使用列表推导的一种方法:
>>> a = [[[1, 2, 3]]]
>>> b = [[x*3 for x in a[0][0]]]
>>> b
[[3, 6, 9]]
这是一种使用纯 Python 的方法:
a3 = [[[el * 3 for el in col] for col in row] for row in a]
这适用于任何形状的 3D 矩阵,而不仅仅是 1x1x3。
但是,如果这是您需要定期做的事情,我会鼓励您学习NumPy。然后你就可以写:
a3 = a * 3