如何使用广播将我的程序编码成一行?

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)