【问题标题】:Is there a better way to index this array?有没有更好的方法来索引这个数组?
【发布时间】:2019-05-15 21:54:39
【问题描述】:

我们得到了密码;

import numpy as np
a = np.transpose(np.diag(np.arange(2,8)) + 10*np.ones((1,6)) - np.arange(10, 4, -1))
*_____*=np.eye(2)

并要求填写_____,这样打印出来的数组就是;

[[ 2.  0.  0.  0.  0.  0.]
 [ 1.  4.  1.  1.  1.  1.]
 [ 2.  2.  6.  2.  2.  2.]
 [ 1.  3.  3.  0.  3.  3.]
 [ 4.  4.  4.  4. 10.  4.]
 [ 0.  5.  5.  1.  5. 12.]]

我尝试将以下内容放入;

a[3,[0,3]],a[5,[0,3]]

当我将它放入 python 时,它给了我正确的数组,但是当我将它填入网站时,它告诉我它不正确。

我想知道是否有一种更简洁或更有效的方法来索引数组,因为这可能是预期的解决方案。

谢谢,任何帮助将不胜感激。

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    你可以得到你想要的结果:

    a[3::2, ::3] = np.eye(2)
    

    见:

    import numpy as np
    
    a = np.transpose(np.diag(np.arange(2, 8)) + 10*np.ones((1, 6)) - np.arange(10, 4, -1))
    a[3::2, ::3] = np.eye(2)
    print(a)
    # [[ 2.  0.  0.  0.  0.  0.]
    #  [ 1.  4.  1.  1.  1.  1.]
    #  [ 2.  2.  6.  2.  2.  2.]
    #  [ 1.  3.  3.  0.  3.  3.]
    #  [ 4.  4.  4.  4. 10.  4.]
    #  [ 0.  5.  5.  1.  5. 12.]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      相关资源
      最近更新 更多