Python 序列应用
1. 序列
序列是一块用于存放多个值的连续内存空间, 并且按一定顺序排列. 序列结构有列表, 元组, 集合, 字典和字符串. Python 对序列中列表, 元组, 字符串有索引, 切片, 相加和相乘操作, 可以通过关键字 in 检查某个元素是否为序列的成员.
(1) 索引
序列中的每个元素都有一个编号被称为索引, 通过索引可以访问序列中的任何元素. 索引类似 C 语言数组中的下标从 0 开始表示第一个元素, 依次递增, 但索引可以为负数
, 例如:-1 表示最后一个元素.
(2) 切片
切片是访问序列中元素的一种方法, 可以访问一定范围内的元素. 通过切片可以生成一个新的序列. 格式如下:
- name[start:end:step]
- '''
- name: 表示序列的名称
- start: 表示切片开始的位置
- end: 表示切片的截止位置
- step: 表示切片的步长
- '''
通过切片可以截取序列上任意一处的信息, 比如一个字符串可以通过切片生成另外一个字符串; 一个列表可以通过切片, 输出指定位置的元素. 可以说是很方便的功能.
(3) 相加和相乘
Python 中, 多个相同类型的序列可以相加成一个新序列. 一个序列可以乘以一个数字 n, 也会生成一个重复这个序列元素 n 次的新序列.
2. 列表
Python 中的列表是由一系列特定顺序排列的元素组成的, 是可变序列. 列表元素可以是整数, 实数, 字符串, 列表, 元组等. 创建列表格式:
\\name = [element1,element2,......] #可以通过 del name 删除列表
(1) 遍历列表
遍历有直接通过 for 循环或者是通过 for 循环和 enumerate() 函数方式.
直接遍历格式:
- \\for item in name:
- print(item)
使用 for 循环和 enumerate() 函数遍历:
- \\for index,item in enumerate(name):
- print(index,item)
(2) 添加, 修改和删除列表元素
操作类型 | 使用方式 | 作用 |
---|---|---|
添加元素 | name.append(元素) | 在列表末尾追加元素 |
添加元素 | name.extend(列表) | 将一个列表中全部元素添加到另一个列表的后面 |
修改元素 | name[i] = 元素 | 修改索引 i 所对应的元素 |
删除元素 | del name[i] | 删除索引 i 所对应的元素 |
删除元素 | name.remove(元素) | 删除指定元素 |
(3) 对列表进行统计和计算
使用方式 | 作用 |
---|---|
name.count(元素) | 获取指定元素出现的次数 |
name.index(元素) | 获取指定元素首次出现的下标 |
sum(name) | 统计数值列表的元素和 |
name.sort() | 对列表进行排序 |
name.sorted() | 生成一个排序后的新列表 |
(4) 列表推导式
Python 中有列表推导式可以快速生成一个列表. 具体可通过格式:
- \\list = [expression for var in range] #expression 为表达式, var 为变量, range 为被执行的对象
- list = [expression for var in range if condition] #可以通过添加条件, 筛选信息
3. 元组
Python 中元组是由一系列按特定顺序排列的元素组成的不可变序列, 元素也可以是整数, 实数, 字符串, 列表等. 因此元组类似列表, 只不过元组不能进行添加, 修改, 删除操作.
4. 字典
字典类似列表, 只不过是无序的可变序列, 字典通过键来读取并且键必须唯一, 不可变. 字典的格式为
\\dict = {'key1':'value1','key2':'value2',......} #del dict 删除字典
还可以通过映射函数创建字典, 格式为: dict = dict(zip(list1,list2)).zip() 函数可以将多个列表和元组对应位置组合成元组. 遍历字典和遍历列表不同, 需要使用 dict.items() 方法获取 "键 - 值对" 的元组表, 再进行遍历输出. 字典元素的添加, 修改和删除都可以通过键来实现. 添加和修改元素: dict[key] = 'value'; 删除元素: del dict[key]
5. 集合
Python 中有可变集合和不可变集合, 我学习的是可变集合. 集合可以通过 name = {} 直接创建, 也可以通过 set() 函数创建, 可变集合中元素是无序, 不重复即唯一的. 向集合中添加元素使用 name.add() 函数, 删除则是 name.remove(). 集合中最常用的就是进行交集 "&", 并集 "|", 差集 "-" 和对称差集 "^" 运算.
总结:
四种序列的区别
序列类别 | 是否可变 | 是否重复 | 是否有序 | 定义符号 |
---|---|---|---|---|
列表 | 可变 | 可重复 | 有序 | [] |
元组 | 不可变 | 可重复 | 有序 | () |
字典 | 可变 | 可重复 | 无序 | {‘key‘:‘value‘} |
集合 | 可变 | 不可重复 | 无序 | {} |
个人感觉序列是 Python 中很重要的基础部分, 用法简单方便快捷但是函数, 格式较多, 需要多加练习运用.
来源: http://www.bubuko.com/infodetail-3395014.html