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 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值