Python 如何更优雅地构造2次方数的numpy数组?
我想弄清楚如何创建这个数组,而不用将每个值都放在每只手上 有没有一种方法可以让我使用这样的信息:除了第一个值之外,每个值都是它的前一个值的两倍 我的代码如下: 将numpy作为np导入 矩阵=np。数组[1,2,4,8,16,32,64128256]。重塑3,3 打印矩阵 您可以使用并利用以下事实,即它们是2的幂: 您可以使用并利用以下事实,即它们是2的幂:Python 如何更优雅地构造2次方数的numpy数组?,python,numpy,jupyter-notebook,numpy-ndarray,Python,Numpy,Jupyter Notebook,Numpy Ndarray,我想弄清楚如何创建这个数组,而不用将每个值都放在每只手上 有没有一种方法可以让我使用这样的信息:除了第一个值之外,每个值都是它的前一个值的两倍 我的代码如下: 将numpy作为np导入 矩阵=np。数组[1,2,4,8,16,32,64128256]。重塑3,3 打印矩阵 您可以使用并利用以下事实,即它们是2的幂: 您可以使用并利用以下事实,即它们是2的幂: 你也可以这样做: var myRandomArray = [1]; var i = 1; var num = 1; while (i &l
你也可以这样做:
var myRandomArray = [1];
var i = 1;
var num = 1;
while (i < 9) {
myRandomArray.push(num = num * 2);
i = i + 1;
}
这是用JavaScript编写的。对于Python,只需切换您需要的内容,主要思想仍然存在。我相信Python,它是append而不是push。您也可以这样做:
var myRandomArray = [1];
var i = 1;
var num = 1;
while (i < 9) {
myRandomArray.push(num = num * 2);
i = i + 1;
}
这是用JavaScript编写的。对于Python,只需切换您需要的内容,主要思想仍然存在。我相信Python,它是append而不是push。这里有一个陪审团操纵的解决方案:
In [10]: total_num = 9
In [11]: np.array([2**n for n in range(0, total_num)]).reshape(3, -1)
Out[11]:
array([[ 1, 2, 4],
[ 8, 16, 32],
[ 64, 128, 256]])
这是一个操纵陪审团的解决方案:
In [10]: total_num = 9
In [11]: np.array([2**n for n in range(0, total_num)]).reshape(3, -1)
Out[11]:
array([[ 1, 2, 4],
[ 8, 16, 32],
[ 64, 128, 256]])
您可以使用np.vander:
您可以使用np.vander:
OP正在寻找一个python解决方案,问题的标签给了他一个javascript解决方案,主要思想是解决问题,因为python程序员会知道isOP寻找python解决方案的语法,问题的标签给了他一个javascript解决方案,主要的想法是解决这个问题,因为python程序员会知道语法是什么。谢谢你的快速回答:欢迎@R.K.,别忘了你可以投票/接受答案,请看,谢谢!谢谢你的快速回答:不客气@R.K.,别忘了你可以投票/接受答案,看,谢谢!可能不会更优雅,但位移位在本例中有效:np.left_shift1,np.arange9.reforme3,3可能不会更优雅,但位移位在本例中有效:np.left_shift1,np.arange9.reforme3,3