切片

切片操做就是对list,元组,字符串进行截取操做
有了切片操做,不少地方循环就再也不须要了
Python的切片很是灵活,一行代码就能够实现不少行循环才能完成的操做编程

使用示例:编程语言

  List切片函数

    L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']

    正序切片spa

     print(L[0:3])  #输出:['Michael', 'Sarah', 'Tracy']
                    #L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素                
   print(L[1:3]) #输出:['Sarah', 'Tracy'], 也能够从索引1开始,取出2个元素出来

    倒序切片code

      print(L[-2:-1])  #输出:['Bob']
                       #倒数第一个元素的索引是-1,由于第二个索引是不包括的,因此Jack是不会被输出的

    省略索引blog

      print(L[:3])  #输出:['Michael', 'Sarah', 'Tracy'], 若是第一个索引是0,还能够省略,实际执行L[0:3]
    print(L[2:]) #输出:['Tracy', 'Bob', 'Jack'] #实际执行L[2:len(L)+1],注意不是L[2:-1]
    print(L[-2:]) #输出:['Bob', 'Jack'], 实际执行L[-2:len(L)+1]
    print(L[:-2]) #输出:['Michael', 'Sarah', 'Tracy'], 实际执行L[0:-2] #切片的开始索引省略,则默认是0 #切片的结束索引省略,则默认是len(list)+1

    其余经常使用例索引

      L = list(range(100))
      print(L[:10])  #输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 前10个数
      print(L[-10:])  #输出:[90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 后10个数
      print(L[10:20])  #输出:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 前11-20个数
      print(L[:10:2])  #输出:[0, 2, 4, 6, 8], 前10个数,每两个取一个
      print(L[::5])   #输出:[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95], 全部数,每5个取一个
      print(L[:])  #输出:[0, 1, 2, 3, ..., 99], 什么都不写,只写[:]就能够原样复制一个list

 

  元组切片字符串

    tuple也是一种list,惟一区别是tuple不可变。所以,tuple也能够用切片操做,只是操做的结果还是tuplestring

   print((0, 1, 2, 3, 4, 5)[:3])  #输出:(0, 1, 2)

 

  字符串切片class

    字符串'xxx'也能够当作是一种list,每一个元素就是一个字符。所以,字符串也能够用切片操做,只是操做结果还是字符串
    在不少编程语言中,针对字符串提供了不少各类截取函数(例如,substring),其实目的就是对字符串切片
    Python没有针对字符串的截取函数,只须要切片一个操做就能够完成,很是简单

      print('ABCDEFG'[:3])  #输出:'ABC'
      print('ABCDEFG'[::2])  #输出:'ACEG'
相关文章
相关标签/搜索