可变类型
基本语法
列表
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