python删除最后一个元素_Numpy-从一维数组中删除最后一个元素的最佳方法?

NumPy数组的大小是固定的,因此不能就地移除元素。例如,使用del不起作用:>>> import numpy as np

>>> arr = np.arange(5)

>>> del arr[-1]

ValueError: cannot delete array elements

注意,索引-1表示最后一个元素。这是因为Python(和NumPy)中的负索引是从末尾开始计算的,所以-1是最后一个,-2是最后一个之前的那个,-len实际上是第一个元素。那只是为了你的信息,以防你不知道。

Python列表的大小是可变的,因此添加或删除元素很容易。

所以如果你想删除一个元素,你需要创建一个新的数组或视图。

创建新视图

可以使用切片表示法创建包含除最后一个元素外的所有元素的新视图:>>> arr = np.arange(5)

>>> arr

array([0, 1, 2, 3, 4])

>>> arr[:-1] # all but the last element

array([0, 1, 2, 3])

>>> arr[:-2] # all but the last two elements

array([0, 1, 2])

>>> arr[1:] # all but the first element

array([1, 2, 3, 4])

>>> arr[1:-1] # all but the first and last element

array([1, 2, 3])

但是,视图与原始数组共享数据,因此,如果其中一个被修改,则另一个被修改:>>> sub = arr[:-1]

>>> sub

array([0, 1, 2, 3])

>>> sub[0] = 100

>>> sub

array([100, 1, 2, 3])

>>> arr

array([100, 1, 2, 3, 4])

创建新数组

一。复制视图

如果不喜欢这种内存共享,则必须创建一个新数组,在这种情况下,创建一个视图然后复制(例如使用数组的^{}方法)可能是最简单的:>>> arr = np.arange(5)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值