2017-08-01 161 views
-3

所以我们可以说,我们有Numpy数组索引操作?

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7]) 

我们如何让这个在指数n数由-1

变更为-1,然后所有数字到它(高折射率)改变的权利

例如,n = 3的新阵列看起来像这样:

[0 1 2 -1 3 4 5 6] 
+3

这是一件容易的事。你究竟在为什么而挣扎? – Alik

回答

4

在一个行:

arr[i], arr[i + 1:] = -1, arr[i + 1:] - 1 

我建议你阅读Array Indexing的文档

+0

谢谢你的优雅的解决方案。我很愚蠢,即使阅读了文档后,我似乎也不明白你是如何做到的。 第一部分是开始,第二部分对我很困惑,第三部分我明白。 例如,我们如何做到这一点,而不将第n个索引改为-1,因此只需在第n个索引之后取所有元素并将它们降低1? –

+0

这是两个语句,'arr [i] = -1'和'arr [i + 1:] = arr [i + 1:] - 1'第二部分只是将索引'i'后的所有值替换为值少一个 –