3.2 序列分类
本节详细介绍列表、元组和字符串三种序列。
3.2.1 列表
列表(List)是Python中使用最频繁的数据类型。列表中的每一个数据称为元素,元素用逗号分隔并放在一对中括号“[”和“]”中,列表可以认为是下标从零开始的数组。列表可以包含混合类型的数据,即在一个列表中的数据类型可以各不相同。
列表举例:
Python创建列表时,解释器在内存中生成一个类似数组的数据结构,数据项自下而上存储,如图3-1所示。
图3-1 列表存储方式
下面介绍列表操作。
(1)创建列表
使用“=”将一个列表赋值给变量。
(2)读取元素
用列表名加元素序号访问列表中某个元素。
(3)修改元素
只需直接给元素赋值。
(4)增加元素
方法1:使用“+”将一个新列表附加在原列表的尾部。
方法2:使用append()方法向列表尾部添加一个新元素。
方法3:使用extend()方法将一个列表添加在原列表的尾部。
方法4:使用insert()方法将一个元素插入到列表的任意位置。
(5)检索元素
使用count()方法计算列表中某个元素出现的次数。
使用in运算符返回某个元素是否在该列表中。
(6)删除元素
方法1:使用del语句删除某个特定位置的元素。
方法2:使用remove方法删除某个特定值的元素。
方法3:使用pop(参数)方法弹出指定位置的元素,缺省参数时弹出最后一个元素。
列表方法如表3-1所示。
表3-1 列表方法
3.2.2 元组
元组(Tuple)和列表类似,相当于只读列表,其元素不可以修改。元组适合于遍历操作,对于数据进行“写保护”,其操作速度比列表快。
元组与列表相比,有如下不同点:
1)元组在定义时所有元素是放在一对圆括号“(”和“)”中,而不是方括号。
2)不能向元组增加元素,元组没有append()、insert()或extend()方法。
3)不能从元组删除元素,元组没有remove()或pop()方法。
4)元组没有index方法。但是,可以使用in方法。
5)元组可以在字典中被用作“键”,但是列表不行。
下面介绍元组操作。
(1)创建元组
使用赋值运算符“=”将一个元组赋值给变量,即可创建元组对象。
当创建只包含一个元素的元组时,需要注意它的特殊性。此时,只把元素放在圆括号里是不行的,这是因为圆括号既可以表示元组,又可以表示数学公式中的小括号,从而产生歧义。因此,Python规定:当创建只包含一个元素的元组时,需在元素的后面加一个逗号“,”。
(2)访问元组
元组可以使用下标索引来访问元组中的值。
(3)元组连接
元组可以进行连接操作。
(4)删除元组
元组中的元素值是不允许删除的,但可以使用del语句删除整个元组。
3.2.3 字符串
字符串(String)与列表和元组都是序列,其方法如表3-2所示。
表3-2 字符串方法
下面介绍字符串的操作。
(1)index举例
(2)find举例
(3)replace举例
(4)count举例
(5)split举例
(6)join举例
【例3-1】 输入一段字符,统计其中单词的个数,单词之间用空格分隔。
【解析】连续一段不含空格字符的字符串就是单词。将连续的若干个空格看作一个空格,因此,单词的个数可以由空格数来决定。如果当前字符是非空格,而它的前一个字符是空格,便认为是新单词的开始,累计单词个数的变量加1;如果当前字符是非空格字符,而它的前一个字符也是非空格字符,则认为是旧单词的继续,积累单词个数的变量保持不变。