目录
1. 序列基本知识
- 序列概念
- 序列分类
- 可变对象
2. 列表
- 列表修改
- 列表函数
- 列表遍历
3. 元组与字典
- 元组
- 字典
4. 集合
- 集合方法
- 集合运算
课堂笔记
1. 序列基本知识
1.1 序列概念
- 序列,是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引
- 数据结构指计算机中数据存储的方式
1.2 序列分类
- 可变序列(序列中的元素可以改变):例如 列表(list),字典(dict)
- 不可变序列(序列中的元素不能改变):例如 字符串(str),元组(tuple)
1.3 可变对象
- Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。 ⽽列表list、字典dict、集合set是可变类型
- 可变对象中都保存了三个数据
- id(标识)
- type(类型)
- value(值)
2. 列表
- 列表(list) ,python中的一个对象,可用于存储一组有序的对象
# 定义一个列表
# lst = ['P', 'Y', 'T', 'H', 'O', 'N']
# print('修改前:', lst) # 输出['P', 'Y', 'T', 'H', 'O', 'N']
# 通过索引修改元素
# lst[0] = 'A' # 输出['A', 'Y', 'T', 'H', 'O', 'N']
# del 删除元素
# del lst[0] # 输出['Y', 'T', 'H', 'O', 'N']
# 通过切片修改元素 [起始:结束:步长],步长默认为1,可为负数,但不能为0
# lst[0:6:2] # 输出['P','T','O', 'N']
# lst[0:2] = 'ASDF' # 输出['A', 'S', 'D', 'F', 'T', 'H', 'O', 'N']
# 给切片赋值,须传递一个序列,且序列长度与被修改序列长度一致
# lst[0:2] = 123 # 报错 TypeError: can only assign an iterable
# lst[::2] = 'A' # 报错 ValueError: attempt to assign sequence of size 1 to extended slice of size 3
# lst[::2] = 'A' * 3 # 起始与结束省略,默认整个列表,输出['A', 'Y', 'A', 'H', 'A', 'N']
# 切片[0:0]再列表头部插入序列
# lst[0:0] = 'A' # 输出['A', 'P', 'Y', 'T', 'H', 'O', 'N']
# 切片逆序
# print(lst[::-1]) # 输出['N', 'O', 'H', 'T', 'Y', 'P']
2.2 列表函数
# 定义一个列表
# lst = ['P', 'Y', 'T', 'H', 'O', 'N']
# lst.index('H', 1, 7) # 获取列表中元素'H'位置,从1开始,到7结束,起始于结束参数可省略
# lst.count('T') # 获取列表中'T'的个数
# lst.append('Z') # 向列表最后添加一个元素'Z'
# lst.insert(0, 'A') # 向列表第0个元素前插入一个元素'A'
# lst.extend('X', 'Y') # 对列表进行扩展,等同于 lst += ['X', 'Y']
# lst.clear() # 清空列表
# lst.pop(2) # 弹出列表中下标为2的元素,并返回
# lst.pop() # 参数可省略,默认弹出最后一个元素
# remove() # 删除指定元素 (如果相同值的元素有多个,只会删除第一个)
# lst.reverse() # 反转列表,等同于lst[::-1]
# lst.sort(reverse=False) # 降序排序列表
2.3 列表的遍历
# range(st, ed, step)常用于for循环,st起始位置,ed结束位置,step步长
# 定义一个列表
# lst = ['P&