Python语言之详解切片
从安 2019-06-11 来源 : 阅读 1594 评论 0

摘要:本篇文章主要讲述Python语言之详解切片,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章主要讲述Python语言之详解切片,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

Python语言之详解切片

切片操作就是对list,元组,字符串进行截取操作
有了切片操作,很多地方循环就不再需要了
Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作

使用示例:

  List切片

    L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
    正序切片
     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个元素出来
    倒序切片
      print(L[-2:-1])  #输出:['Bob']
                       #倒数第一个元素的索引是-1,因为第二个索引是不包括的,所以Jack是不会被输出的

  省略索引

      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也可以用切片操作,只是操作的结果仍是tuple

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

 

  字符串切片

    字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串
    在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片
    Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单

   print('ABCDEFG'[:3])  #输出:'ABC'
  print('ABCDEFG'[::2])  #输出:'ACEG'

 

本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @从安 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程