三、元组和集合
3.1 元组简介
特点:
-
元组也是有序的数据结构【有先后顺序】
-
可以通过偏移来获取元素
-
元组是不可变的对象【不能原地修改】
-
元组不能进行排序和修改操作【元组中的元素不能修改】
定义元组
-
元组名 = (元素,元素,元素,元素,)
特殊元组
-
空元组
-
有一个元素的元组
-
区分乘法运算
案例: a = [] print(a) b = () print(b) c = ("tom",) print(c) d = ("tom","jerry") print(d) s1 = 3*(1+4) print(s1) s2 = 3*(1+4,) print(s2)
3.2 元组操作
操作1:从元组中取数据
案例: s = ("tom","jerr","bob","jack") name = s[2] print(name) name = s[1:] print(name)
操作2:类型转换
-
方法:tuple(列表)
案例:将元组的第三个元素修改为tuoni
s = ("tom","jerr","bob","jack") # 定义元组 li = list(s) # 转换为列表 li[2] = "tuoni" # 修改元素 s = tuple(li) # 转换成元组 print(s)
3.3 集合简介
集合的类别:
-
不可变集合
-
可变集合
集合的操作
-
创建集合
-
添加集合
-
删除集合
-
成员关系
-
交集、差集、并集
-
去重
3.4 集合的操作
操作1:创建集合
-
set() 创建的是不可变集合
-
frozenset() 创建的是可变集合
案例: s = set("tom") # 创建集合 print(s)
操作2:在集合添加元素
-
add:将目标作为整体添加到集合中
-
update:将目标拆分成一个一个的元素添加到集合中
案例: s = set("tom") print(s) # 输出结果 {'t', 'm', 'o'} s.add("jerry") print(s) s.update("abc") print(s) s.update("aaaaaaaa") print(s)
操作3:删除集合中的元素
-
remove ‘
-
格式: 列表名.remove(元素)
案例: s = set("tom") print(s) # 输出结果 {'t', 'm', 'o'} s.remove("m") print(s)
操作4:成员关系
-
in
-
not int
操作5:交集并集差集
案例: a = set("12345") b = set("24689") # 获取集合a 和 集合b中都有数字【交集】 res = a & b print(res) # 获取集合a 和 集合b中的全部的数字,重复的数字只显示依一次【并集】 res = a | b print(res) # 获取集合a 中有,但是基b中没有的数字【差集】 res = a - b print(res) # 获取集合a 中有,但是基a中没有的数字【差集】 res = b - a print(res)
操作6:去重
案例: li = [7,1,2,1,3,1,1,9] # 定义列表 res = set(li) # 将列表转换成集合【集合有自动去重的特效,所以可以实现去重效果】 li = list(res) # 将去重的结果再转换成列表 print(li)