繁体   English   中英

如何使用循环反转 numpy 数组

[英]How to reverse a numpy array using loops

鉴于这个 numpy 数组:

 Input:  nums = np.array([0] * SIZE, dtype=int)
 Output: [ 10  20  30  40  50  60  70  80  90 100]

我需要使用循环来反转数组元素(不直接使用 numpy 命令)。 所以期望的结果是:[100, 90 ,80,....10]
如何使用 for 或 while 循环结构反转这些?

这是我到目前为止所得到的。

for i in range(len(arr)-1, -1, -1):
        print(arr[i])

这将打印相反的顺序,但是如何以相反的顺序将这些元素存储回数组?

我知道 numpy 已内置函数来执行此操作,但是我想从第一个原则方法中理解这一点。

import numpy as np

nums = np.array([10,20,30,40,50,60,70,80,90,100], dtype=int)
rev = np.zeros(nums.size, dtype=int)
for i in range(nums.size):
    rev[nums.size - (i + 1)] = nums[i]

np.zeros(s, dtype=d)创建一个大小为s的数组,其中填充了d类型的零。

在这种情况下, rev是反向数组, nums.sizelen(nums)相同

import numpy as np

nums = np.array([10,20,30,40,50,60,70,80,90,100], dtype=int)
rev = np.zeros(nums.size, dtype=int)
for i in range(nums.size):
    rev[nums.size - (i + 1)] = nums[i]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM