版权声明:转载请说明出处 https://blog.csdn.net/Hulu_IT/article/details/84882690
#可变类型
###目标:
* 理解列表、元组、字典的性质
* 会使用可变类型常见函数
* 会使用range函数
* 会使用for进行遍历
* 会使用切片
####基本语法
-
列表list:有序可变的存储模型
list = []list.insert(idx,data):在列表的指定位置插入数据,如果索引位置超过列表数据总量,数据将插入到列表末尾 list.extend(model):在列表的末尾添加参数对象中的所有数据 list.remove(data):从列表中删除指定的数据,如果数据不存在将报错 list.pop(idx):从列表中获取并删除指定索引位置上的数据,如果索引值超过列表数据总量将报错 list.clear():清空列表中的数据 list.index(data):查询列表中指定数据对应的索引,如果数据不存在将报错 list.count(data):统计列表中指定数据出现的数量
-
元组tuple:有序不可变的存储模型
tuple = ()tuple.index(data):查询元组中指定数据对应的索引,如果数据不存在将报错 tuple.count(data):统计元组中指定数据出现的数量
-
集合set:无序不重复数据的存储模型
set = {}set.add(data):在集合中添加数据 set.remove(data):从集合中删除指定的数据,如果数据不存在将报错 set.pop():从集合中获取并删除第一个数据 set.clear():清空集合中的数据
-
字典dict:“键值对结构”存储数据的存储模型,键唯一
dict = {}dict.pop(key):从字典中删除指定键key对应的键值对,如果键key不存在将报错 dict.popitem():从字典中删除指定键key对应的键值对,如果键key不存在将报错 dict.clear():清空字典中的数据 dict.setdefault(key,value):添加新的键值对,如果存在对应的键,则忽略该操作 dict.update(dict):使用新字典中的数据对原始字典数据进行更新 dict.get(key):根据键key查询字典中对应的值,如果键key不存在将返回None dict.keys():获取字典中所有的键key组成的列表数据 dict.values():获取字典中所有的值value组成的列表数据 dict.items():获取字典中所有的键值对列表数据
-
切片:获取列表、元组或字符串中的局部数据
容器对象[开始索引:结束索引:步长] # 特殊格式: list1[:5:1] # 默认开始索引为0 list1[0::1] # 默认结束索引为数据总量 list1[0:5:] # 每次递增索引数为1 list1[5:0:-1] # 反向操作/反向步长操作,需要开始索引、结束索引逆序输入 list1[:5:] # 获取索引5之前的数据(不含5) list1[4::] # 获取索引4之后的数据(含4)
####其他语法格式:
- for循环:
for 变量名 in 列表: ____变量相关操作
- for…else:
for 变量名 in 列表: 变量相关操作 else: 循环正常运行结束后执行的操作 # 如果for循环中执行了break语句,则else中的代码将不执行 # while循环同样具有while…else语法格式
- range:
格式1:range(m) 生成 0 到 m-1 的整数 格式2:range(m,n) 生成 m 到 n-1 的整数 格式3:range(m,n,s) 生成 m 到 n-1 的整数,整数间隔为s
- 公共方法:
len(model):获取容器模型中的数据总量 max(model):获取容器模型中的最大值,对于字典获取字典的键key的最大值 min(model):获取容器模型中的最小值,对于字典获取字典的键key的最小值
- 通用运算符
+ : 将两个容器数据合并放入第一个容器,list1 + list2 * : 将容器数据复制n次放入容器中,list1 * n in: 判断容器中是否包含数据,data in list1 not in: 判断容器中是否不包含数据,data not in list1 >、>=、==、<=、<: 比较两个容器中的数据关系,list1 <= list2