zoukankan      html  css  js  c++  java
  • 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,:]均是错误的

  • 相关阅读:
    SDUT3926 kmp
    SDUT 3930 线段树
    HDU 3277 最大流+二分
    HDU 3081 最大流+二分
    HDU 3605 最大流+状态压缩
    HDU 3572 最大流
    HDU 4576 DP
    POJ 2289 最大流
    POJ 1698 最大流
    poj 3498 最大流
  • 原文地址:https://www.cnblogs.com/cymwill/p/7911701.html
Copyright © 2011-2022 走看看