zoukankan      html  css  js  c++  java
  • 2016.07.09-10 切片操作

    切片操作:
        对有序数列使用下标操作进行区域切割。
        最常见的的切片操作,以list为例(其他的有序数列,例如tuple和str的切片操作都跟list相同):
            lst[start:end:step]
            start:起始索引,end:结束索引,step步长
            切片操作的取值区域,包含起始索引的元素,不包含结束索引的元素
            正数索引,从0开始,从左往右计数
            负数索引,从-1开始,从右往左计数
            实例:如果step(步长)为默认值(1)或者其他正整数时切片顺序是从左往右,start(起始索引)必须在end(结束索引)前面,否则会得到一个空列表。
                >>> lst
                [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                >>> lst[0:8]
                [0, 1, 2, 3, 4, 5, 6, 7]
                
                >>> lst[0:-2] 
                [0, 1, 2, 3, 4, 5, 6, 7]
    
                >>> lst[-8:6]
                [2, 3, 4, 5]
    
                >>> lst[-2:3]
                []
    
                >>> lst[7:2]
                []
    
                >>> lst[-2:-5]
                []
    
    
            实例:如果step(步长)为负数时,切片顺序是从右往左,start(起始索引)必须在end(结束索引)后面,否则会得到一个空列表。
                  返回的结果相对于原列表是逆序的
                >>> lst
                [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                >>> lst[7:2:-1]
                [7, 6, 5, 4, 3]
    
                >>> lst[-1::-1] 
                [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    
                >>> lst[-1:-5:-1]
                [9, 8, 7, 6]
                
                >>> lst[-1:-7:2] 
                []
                >>>
            
            实例:step为默认(1)或-1时,切片计数为正常的顺序取值,当大于1,或者小于-1时,则根据step跳跃取值,步长是2或-2时是两位元素中取第一位,第二位丢弃,以此类推。
                >>> lst[::2]
                [0, 2, 4, 6, 8]
    
                >>> lst[::3]
                [0, 3, 6, 9]
                
                >>> lst[-1::-2]
                [9, 7, 5, 3, 1]
    
                >>> lst[-1::-3]
                [9, 6, 3, 0]
    
                
            实例:当start或end超出lst的索引范围的情况,start < 索引范围的第一位,end >索引范围的最后一位,start取值为索引0,end取值为len(lst)
                >>> lst[-100:5]
                [0, 1, 2, 3, 4]
    
                >>> lst[2:100] 
                [2, 3, 4, 5, 6, 7, 8, 9]
    
                >>> lst[-100:100]        
                [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
            实例:start为0可以省略,end为list的长度时可以省略,等效于lst.copy()方法
                >>> lst
                [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                >>> lst[:]
                [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                >>> lst[::-1]
                [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
                >>> 
                            
    
                
                
  • 相关阅读:
    Javascript、C#、php、asp、python 等语言的链式操作的实现
    根据C# 事件思想来实现 php 事件
    initerrlog: 无法打开错误日志文件 'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLLog 解决办法
    64位直接加载个img 标签的src
    各种脚本语言变量作用域总结
    数据库设计14个技巧【转】
    基于Jquery 简单实用的弹出提示框
    C# dll 事件执行 js 回调函数
    php 配置xdebug
    sqlserver 构架与性能优化
  • 原文地址:https://www.cnblogs.com/LouisZJ/p/5674517.html
Copyright © 2011-2022 走看看