三、元组和集合
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)










