python matrix/array反向切片

>>> import numpy as np
>>> m = np.mat([[1.,1,1],[1,2,3,],[1,5,1,]])
>>> m
matrix([[ 1.,  1.,  1.],
        [ 1.,  2.,  3.],
        [ 1.,  5.,  1.]])

>>> m[2:0,:] #错误,选中的元素为0
matrix([], shape=(0, 3), dtype=float64)

# 第一种切法
>>> m[-2:-1,:] #正确,选中倒数第二列 matrix([[ 1., 2., 3.]])
# 第二种切法
#或者使用两个:: 如a:b:c 意为从a以c步长到b >>> m[2:0:-1,:] # 正确,选中2,1行 matrix([[ 1., 5., 1.], [ 1., 2., 3.]])

 但是要注意,反向切片时,第二种切法m[2:0:-1,:]第二位不能是-1,不然会把这个-1认为是第一种反向切片;第一种切法m[-2:-1,:]第一位不能是正数

总结一下上面这句话就是,第一种切法必须全是负数,第二种切法必须全是正数,不能混合,如m[2:-1,:],m[2:-1:-1,:]均是错误的

转载于:https://www.cnblogs.com/cymwill/p/7911701.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值