python 切片和索引的解释

本文详细介绍了Python中一维、二维及多维数组的切片和索引操作。一维数组的切片与索引类似,但切片是原始数组的视图,修改会影响原始数组。二维数组中,逗号用于指定行列位置,冒号用于行切片。多维数组则扩展到更多维度。此外,还探讨了花式索引在三维及以上数组中的基本应用。
摘要由CSDN通过智能技术生成

python 切片和索引的解释

一维数组的索引和切片

一维数组的索引和切片基本一致
它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改)。
这也意味着,如果不想更改原始数组,我们需要进行显式的复制,从而得到它的副本(.copy())。

arr = np.arange(8)    # 创建一个一维数组
array([0, 1, 2, 3, 4, 5, 6, 7])
arr[5] # 获取索引为5的元素
5
arr[3:5]            # 获取索引为3~5的元素,但不包括5,称为切片
array([3, 4])
arr[3:5]=8  #改变这段切片的值
In [92]: arr
Out[92]: array([0, 1, 2, 8, 8, 5, 6, 7]) #结果发现原来的值被替换了。以下是解决办法 通过.copy()保留原来数组

arr=np.arange(8) #重新生成一个新的一样的数组
array([0, 1, 2, 3, 4, 5, 6, 7])
arr_old = arr.copy() #复制该数组
arr[3:6] = 8 #对原来的数组赋值
array([0, 1, 2, 8, 8, 8, 6, 7])
arr_old #复制的数组还保留原样
array([0, 1, 2, 3, 4, 5, 6, 7])

二维数组

在二维数组中 逗号的使用代表行列位置的选取
冒号的使用代表行切片的选取,依据行列的位置而定,逗号前就是选取行,逗号后就是选取列。

arr2d = np.array([[1, 2, 3],[4, 5, 6],[
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值