Skip to main content
 首页 » 编程设计

python之如何更优雅地构造一个 2 的幂数的 numpy 数组

2025年05月04日13lidabo

我想弄清楚如何在不将每个值都放入每只手的情况下创建这个数组。

有没有一种方法可以让我知道除了第一个值之外,每个值都是其前一个值的两倍?

我的代码如下:

 
import numpy as np 
 
Matrix = np.array([1,2,4,8,16,32,64,128,256]).reshape (3,3) 
 
print(Matrix) 
 

请您参考如下方法:

您可以使用 np.arange ,并利用它们是 2 的幂这一事实:

2**np.arange(9).reshape(-1, 3) 
 
array([[  1,   2,   4], 
       [  8,  16,  32], 
       [ 64, 128, 256]], dtype=int32)