本文共 1946 字,大约阅读时间需要 6 分钟。
序列是一块用于存放多个值的连续内存空间,并且按一定顺序排序。每个值(称为元素)都分配一个数字(称为索引或位置),通过该索引可以取出相应的值。在 Python 中,序列结构主要有列表、元组、集合、字典和字符串。对于这些序列结构有以下几个通用的操作,其中,集合和字典不支持索引、切片、相加和相乘操作。
序列中的每一个元素都有一个编号,也成为了索引(Indexing)。这个索引是从 0 开始递增的,即下标为 0 表示第一个元素,下标为 1 表示第二个元素,以此类推。Python 相对于 Java、C++ 不同的是,它的索引可以是负数。当索引是负数时,它是从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值是 -1,倒数第二个元素的索引值是 -2,以此类推。采用负数索引,是从 -1 开始的,这是为了防止与第一个元素重合。
切片(Slicing)操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。切片操作的语法格式如下:sname[start : end : step]。sname 表示序列的名称;start 表示切片的开始位置(包括该位置),如果不指定,则默认为 0;end 表示切片的截止位置(不包括该位置),如果不指定,则默认为序列的长度;step 表示切片的步长,如果省略,默认为 1。当省略该步长时,最后一个冒号也可以省略。在进行切片操作时,如果指定了步长,那么将按照步长遍历序列的元素,否则将一个一个遍历序列。
在 Python 中,使用(+)运算符可以实现两个相同种类的序列相加(Adding)操作,即将两个序列进行连接,但不去除重复的元素。
在 Python 中,使用数字 n 乘以一个序列会生成一个新的序列。新序列的内容为原来序列被重读 n 次的结果。
在 Python 中,可以使用 in 关键字检查某个元素是否是序列的成员,同样还可以使用 not in 关键字检测某个元素是否不包含在指定的序列中。
在 Python 中,提供了内置函数 len() 计算序列的长度,使用 max() 函数返回序列中的最大元素,使用 min() 函数返回序列中的最小元素。
Python 中的列表类似于歌曲列表,是由一系列按特定顺序排列的元素组成的可变序列。在形式上,列表的所有元素都放在一对括号 “[]” 中,两个相邻的元素之间使用逗号 “,” 分割。列表是 Python 中最灵活的序列类型,可以包含不同类型的元素。
列表同其他类型的 Python 变量一样,创建列表时,也可以使用赋值运算符 “=” 直接将一个列表赋值给一个变量。可以创建空的列表:list = []。数值列表也是非常常用的,可以通过 list() 函数将 range 对象、字符串、元组等转换为列表。对于已经创建的列表,当我们不再使用时,可以使用 del 语句将其删除。垃圾回收机制会自动销毁不用的列表。
可以通过下标索引的方式访问列表的元素。使用 print() 函数输出列表的内容。
遍历列表中的所有元素是常用的一种操作。在 Python 中遍历列表有以下两种方式:直接使用 for 循环,或者使用 enumerate() 函数实现。
可以使用 append() 方法向列表添加元素,extend() 方法可以将一个列表添加到另一个列表中。insert() 方法用于向列表指定位置插入元素,remove() 方法用于删除列表中的指定元素。
修改列表中的元素只需要通过索引获取该元素,然后再重新赋值即可。删除元素可以使用 del 语句实现,或者使用 remove() 方法删除不确定位置的元素。
生成制动范围的数值列表可以使用列表推导式:[Expression for var in range]。根据列表生成指定需求的列表可以使用类似的方式。
元组(tuple)是 Python 中另一个重要的序列结构,也是不可变序列。元组是通过一对小括号将所有元素括起来,虽然小括号并不是必须的,但需要在元组的最后添加一个逗号以表示元组的结束。元组的访问方式和列表类似,但元组是不可变的,不能对其元素进行修改或删除操作。
列表属于可变序列,元组属于不可变序列。列表支持 append()、extend()、insert()、remove() 和 pop() 等方法,而元组则没有这些方法。元组的访问和处理速度比列表更快,适合只需要读取操作的场景。元组可以作为字典的键,而列表不能。
转载地址:http://gprx.baihongyu.com/