zoukankan      html  css  js  c++  java
  • python 切片

    http://my.oschina.net/u/1156660/blog/369667

    转自:http://blog.csdn.net/werm520/article/details/7617376

    切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。

    记住数是可选的,而冒号是必须的。

    切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束,第三个数(冒号之后)表示切片间隔数

    如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。

    这样,shoplist[1:3]返回从位置1开始,包括位置2,但是停止在位置3的一个序列切片,因此返回一个含有两个项目的切片。类似地,shoplist[:]返回整个序列的拷贝。shoplist[::3]返回位置3,位置6,位置9…的序列切片。

    你可以用负数做切片。负数用在从序列尾开始计算的位置。例如,shoplist[:-1]会返回除了最后一个项目外包含所有项目的序列切片,shoplist[::-1]会返回倒序序列切片。

    >>> a=np.array([1,2,3,4,5,6,7,8])
    >>> a
    array([1, 2, 3, 4, 5, 6, 7, 8])          数组a
    >>> a[:4]
    array([1, 2, 3, 4])
    >>> a[3:4]       下标从0开始,从3到4-2
    array([4])
    >>> a[::4] 从0开始,跨度4,索引就是0,4,
    array([1, 5])
    >>> a[::]   全部
    array([1, 2, 3, 4, 5, 6, 7, 8])
    >>> a[::-1]逆序,跨度1
    array([8, 7, 6, 5, 4, 3, 2, 1])
    >>> a[:-5:-1]逆序,跨度1,索引就是1,2,3,4
    array([8, 7, 6, 5])
    >>> a[::2]  跨度2
    array([1, 3, 5, 7])
    >>> a[:-1:]和a[:-1]一样,索引从0开始,去掉倒数第一列
    array([1, 2, 3, 4, 5, 6, 7])
    >>> a[:-2:]  索引从0开始,去掉倒数第一,二列
    array([1, 2, 3, 4, 5, 6])
    >>> a[:-3:]   索引从0开始,去掉倒数第一,二,三列
    array([1, 2, 3, 4, 5])
    >>> a[:-3:-1] 逆序,索引为0,1
    array([8, 7])
    >>> a[:-3]
    array([1, 2, 3, 4, 5])
    >>> a[:-3:1]
    array([1, 2, 3, 4, 5])
    >>> a[:-3:2]
    array([1, 3, 5])
    >>> a[:-3:]
    array([1, 2, 3, 4, 5])
    >>> a[:-3:1]
    array([1, 2, 3, 4, 5])
    >>> a[:-3:-1]
    array([8, 7])
    >>> a[:-3:-2]
    array([8])
    >>> a[:-3:-1]
    array([8, 7])
    >>> a[:-5:-1]
    array([8, 7, 6, 5])
    >>> a[:-7:-1]
    array([8, 7, 6, 5, 4, 3])
    >>> a[:-7:-2]
    array([8, 6, 4])
    >>>

    使用Python解释器交互地尝试不同切片指定组合,即在提示符下你能够马上看到结果。序列的神奇之处在于你可以用相同的方法访问元组、列表和字符串。

  • 相关阅读:
    android service
    Java 枚举7常见种用法
    SkylineGlobe Android 开发 面积计算示例代码
    SkylineGlobe 6.6 版本API更新
    SkylineGlobe 移动端开发测试
    SkylineGlobe 如何二次开发获取三维模型的BBOX和设置Tint属性
    SkylineGlobe 如何二次开发实现天际线分析功能
    SkylineGlobe API 如何以图层的方式导入MPT地形
    SkylineGlobe 如何使用二次开发接口创建粒子效果
    SkylineGlobe 支持火狐和谷歌浏览器的可运行示例代码
  • 原文地址:https://www.cnblogs.com/cdsj/p/5176335.html
Copyright © 2011-2022 走看看