如何使用广播将我的程序编码成一行?
How can I use broadcasting to code my program in one line?
我有一个代码可以正常工作,但是,练习是使用广播在一行中编写代码,我发现这样做非常复杂,这是代码:
import numpy as np
v1 = np.array([10, 20, 30, 40, 50])
v2 = np.array([0, 1, 2, 3 ])
matrix = []
for i in v1:
matrix.append(i**v2)
matrixx = np.array(matrix).reshape([5,4])
print(matrixx)
请帮忙!
在这种情况下您不需要广播(它会自动发生),因为两个数组的维度都是 1。
你可以在没有 loop/comprehension:
的情况下获得相同的输出
print(v1.reshape(5,1)**v2)
我有一个代码可以正常工作,但是,练习是使用广播在一行中编写代码,我发现这样做非常复杂,这是代码:
import numpy as np
v1 = np.array([10, 20, 30, 40, 50])
v2 = np.array([0, 1, 2, 3 ])
matrix = []
for i in v1:
matrix.append(i**v2)
matrixx = np.array(matrix).reshape([5,4])
print(matrixx)
请帮忙!
在这种情况下您不需要广播(它会自动发生),因为两个数组的维度都是 1。
你可以在没有 loop/comprehension:
print(v1.reshape(5,1)**v2)