当前位置: 首页 > news >正文

Python回顾与整理4:序列1—字符串

        序列其实是Python的某几类数据类型的统称,如字符串,列表和元组,将它们统称为序列,是因为:它们的成员有序排列,并且可以通过下标偏移量访问到它的一个或者几个成员

        总结的思路为:先介绍适用于所有序列类型的操作符和内建函数,然后再分别对这几种序列类型进行介绍




1.序列


        序列类型都有相同的访问模式:它的每一个元素都可以通过指定一个偏移量的方式得到,多个元素通过切片操作的方式得到。而在Python序列中,偏移量的规则如下(假设序列长度为N):

wKiom1bq3yyQV70pAAAP0Jc09p0317.png


(1)标准类型操作符

        在《Python回顾与整理2:Python对象》中有介绍标准类型操作符,这些操作符一般都是可以适用于所有的序列类型的。


(2)序列类型操作符

        分别介绍如下:

  • 成员关系操作符:in,not in

        对于字符串,就是判断字符是否在字符串中(其实这个字符也是一个字符串对象);对于列表和元组,就是判断对象是否属于该对象序列,语法为:obj [not] in 序列

  • 连接操作符:+

  • 从节约内存的角度去考虑,对于字符串,建议使用join,对于列表,建议使用extend().

  • 重复操作符:*

        语法为:sequence * copies_int,即数字必须为整型,不能是长整型。

  • 切片操作符:[ ],[:],[::]

        假设有列表:L = [0, 1, 2, 3, 4],常见的有下面的几种形式操作:

        


操作结果
L或L[:][1, 2, 3, 4, 5]
L[0:3]或L[:3][0, 1, 2]
L[2:5]或L[2:][2, 3, 4]
L[1:3][1, 2]
L[3][3]

        通过上表容易知道:如果没有指定起始索引值(即为None),将以第一个索引值作为默认值;同样地,如果没有指定结尾索引值,将以最后一个索引值作为默认值;如果都没有指定,则返回整个序列。


  • 切片操作扩展:使用步长索引

        使用第3个参数作为步长,如下:

1
2
3
4
5
>>> s  =  'abcdefgh'    
>>> s[:: - 1 ]        #可以视作翻转
'hgfedcba'
>>> s[:: 2 ]         #隔一个取一个
'aceg'
  • 切片索引的更多内容

        主要看下面一个例子:

1
2
3
4
5
6
7
8
9
>>> s 

相关文章:

  • python小代码之阶乘求和
  • ibatis动态生成列时的列名无效
  • 通过构造函数来创建新对象
  • Python字符串、列表、元组、集合、字典方法
  • 【MongoDB学习笔记32】MongoDB修改副本集配置
  • iptables防火墙 --Linux详解
  • CentOS 7.2 安装图解教程
  • MongoDB主从
  • Linux系统使用lvm扩展根分区
  • 【人工智能】 火爆的机器学习和人工智能,为何在金融业四处碰壁?
  • 定制你的敏捷方法:以结果为导向
  • Java并发编程(六)发布与逸出
  • linux 查看网卡流量的方法
  • 自己制作 XP With SP3 系统光盘 包括驱动SATA集成AHCI驱动
  • 使用Maven运行单元测试
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Flex布局到底解决了什么问题
  • github从入门到放弃(1)
  • OSS Web直传 (文件图片)
  • Python语法速览与机器学习开发环境搭建
  • React as a UI Runtime(五、列表)
  • Redis的resp协议
  • Vue 2.3、2.4 知识点小结
  • vue-cli在webpack的配置文件探究
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 那些年我们用过的显示性能指标
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 删除表内多余的重复数据
  • 学习笔记:对象,原型和继承(1)
  • 追踪解析 FutureTask 源码
  • ​你们这样子,耽误我的工作进度怎么办?
  • #图像处理
  • #预处理和函数的对比以及条件编译
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (阿里云万网)-域名注册购买实名流程
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (九十四)函数和二维数组
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (十八)三元表达式和列表解析
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)基于IDEA的JAVA基础10
  • (原創) 未来三学期想要修的课 (日記)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转载)hibernate缓存
  • ... 是什么 ?... 有什么用处?
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET委托:一个关于C#的睡前故事
  • .net项目IIS、VS 附加进程调试
  • ?
  • @Bean有哪些属性
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [100天算法】-不同路径 III(day 73)