我想弄清楚如何在不将每个值都放入每只手的情况下创建这个数组。
有没有一种方法可以让我知道除了第一个值之外,每个值都是其前一个值的两倍?
我的代码如下:
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)
关于python - 如何更优雅地构造一个 2 的幂数的 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56063243/