python之切片

切片可以切字符串str、列表list、元组tuple,以列表为例

1、使用索引获取列表中某个元素

    #      0   1   2   3
    list=['A','B','C','D']
    #     -4  -3  -2  -1
    print list[0],list[-4]
list[0],list[-4]的值均为“A”。list[0]为正向索引,list[-4]为负向索引

 

2、列表中的切片

     list [start : end : step]    

   start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1

 

    #      0   1   2   3
    list=['A','B','C','D']
    #     -4  -3  -2  -1
    print list[0],list[-4]

        step为正时,切片方向为从左至右,start→end,start、end方向在填写时候也必须从左到右。exp:

    list[0:3],list[-4:-1],list[-4:3],结果均为['A','B','C']

    list[0:3:2,list[-4:-1:2],list[-4:3:2],结果均为['A','C']

 

  step为负数时,切片方向为从右至左,start←end,start、end方向在填写时候也必须从右到左。切出来的结果与原list相比,反向了,exp:

    list[3:0:-1],list[-1:-4:-1],list[-1:0:-1],结果均为['D','C','B']

    list[3:0:-2],list[-1:-4:-2],list[-1:0:-2],结果均为['D','B']

 

  如果不填写:

    list[1:],从list[1]开始正向切出所有:['B','C','D'] (list[-4:]的值一样)

    list[:3],从头开始切至list[3](不包括list[3]):['A','B','C'] (list[:-1]的值一样)

    list[:]、list[::] ,正向切出所有:['A','B','C','D']

               list[::-1],负向切出所有:['D','C','B','A']

3、range()函数

     语法为:range(stop)

       range(start,stop,step)

  print range(5):[0,1,2,3,4]

  print range(1,5) : [1,2,3,4]

  print range(1,5,2) : [1,3]

  print range(5,0,-1) : [5,4,3,2,1]   #倒序排序

       print range(5,0,-2) : [5,3,1]

posted @ 2017-10-20 14:14  cuisygan  阅读(344)  评论(0编辑  收藏  举报