我们收到了代码;
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时,它给出了正确的数组,但是当我将其填充到网站中时,它告诉我这是不正确的。
我想知道是否有一种更整洁或更有效的方法来索引数组,因为这可能是预期的解决方案。
非常感谢您的帮助。
答案 0 :(得分: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.]]