第 3 章 序列
序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放多个值的连续的内存空间。比如一个整数序列[10,20,30,40],可以这样示意表示:
由于 Python3 中一切皆对象,在内存中实际是按照如下方式存储的:
a = [10,20,30,40]
如上图所示,我们可以看出序列中存储的是整数对象的地址,而不是整数对象的值。第3列的10、20、30、40都各是一个对象,每个对象的地址被有序地存进第2列的格子中,第2列的几个格子组成的整体也是一个对象,这个对象的地址被存到第1列的变量a中。
python中常用的序列结构有:
字符串、列表、元组、字典、集合。
我们上一章学习的字符串就是一种序列。关于字符串里面很多操作,在这一章中仍然会用到,大家一定会感觉非常熟悉。
本章内容,我们必须非常熟悉。无论是在学习还是工作中,序列都是每天都会用到的技术,可以非常方便地帮助我们进行数据存储和提取应用的操作。
列表简介
列表:用于存储任意数目、任意类型的数据集合。
列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表定义的标准语法格式:
a = [10,20,30,40]
其中,10,20,30,40 这些称为:列表 a 的元素。
列表中的元素可以各不相同,可以是任意类型。比如:
a = [10,20,'abc',True]
列表对象的常用方法汇总如下,方便大家学习和查阅。
方法 | 要点 | 描述 |
list.append(x) | 增加元素 | 将元素 x 增加到列表 list 尾部 |
list.extend(aList) | 增加元素 | 将列表 alist 所有元素加到列表 list 尾部 |
list.insert(index,x) | 增加元素 | 在列表 list 指定位置 index 处插入元素 x |
list.remove(x) | 删除元素 | 在列表 list 中删除首次出现的指定元素 x |
list.pop(index) | 删除元素 | 删除并返回列表 list 指定 index 处的元素。如果不指定,默认是最后一个元素 |
list.clear() | 删除所有元素 | 删除列表所有元素,并不是删除列表对象 |
list.index(x) | 访问元素 | 返回第一个 x 的索引位置,若不存在 x 元素抛出异常 |
list.count(x) | 计数 | 返回指定元素 x 在列表 list 中出现的次数 |
len(list) | 列表长度 | 返回列表中包含元素的个数 |
list.reverse() | 翻转列表 | 所有元素反向排列 |
list.sort() | 排序 | 所有元素排序,数字从小到大排序(可以int类型和float类型混合),字符串按编码顺序排列,但不支持数字和字符串混合排列。 |
list.copy() | 浅拷贝 | 返回复制后的新列表,主要是从内存上来说的。 |
Python 的列表大小可变,根据需要随时增加或缩小。
字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列。我们前面学习的很多字符串的方法,在列表中也有类似的用法,几乎一模一样。