我有这个问题,我想用一个新元素替换一个元素,而不是删除我替换的元素,我只是想让它移动到下一个索引。
import numpy as np
empty_arr = [0] * 5
arr = np.array(empty_arr)
inserted = np.insert(empty_arr, 1, 3)
inserted = np.insert(empty_arr, 1, 4)
#Output:
[0 4 0 0 0 0]
我不知道正确的语法,但我只是想替换元素3与4
#Expected Output:
[0 3 4 0 0 0] #move the element 4 to next index
您将第一次插入的结果放置在inserted
变量中,但是您将从原始数组开始进行第二次插入并覆盖之前的结果。
您应该从上一个结果开始第二次插入:
inserted = np.insert(empty_arr, 1, 3)
inserted = np.insert(inserted, 1, 4)
顺便说一句,你必须使用numpy数组吗?常规Python列表似乎更适合:
empty_arr = [0] * 5
empty_arr.insert(1,3)
empty_arr.insert(1,4)
print(empty_arr)
[0, 4, 3, 0, 0, 0, 0]
请注意,如果您希望结果中的4出现在3之后,则必须在索引1处以相反的顺序插入它们,或者在索引1处插入3后在索引2处插入4。
import numpy as np
empty_arr = [0] * 5
arr = np.array(empty_arr)
empty_arr = np.insert(empty_arr, 1, 3)
empty_arr = np.insert(empty_arr, 1, 4)
#output
array([0, 4, 3, 0, 0, 0, 0])