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

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

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




1.序列


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

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


(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 
上一篇:SystemParametersInfo系统信息获取与设置,慎用


下一篇:Winform 系统调优