基础数据类型之集合
1.集合的定义
在{}内用逗号分开多个元素,多个元素满足以下三个条件:
1.集合元素必须是不可变类型
2.集合元素无序
3.集合内元素没有重复(打印出来会自动去重)
d = {} 默认是定义空字典
需要定义空集合,需要使用s = set()
2,集合的作用
(1)关系运算
# 如何取出这两个人共同的朋友呢?
friend1=["zhang","yang","liu","tao"]
friend2=["zhang","yang","xiao","wang"]
# 没有学集合之前可以可以采取for循环的方法,如下:
l=[]
for i in friend1:
if i in friend2:
l.append(i)
print(l)
集合中提供了一种更简单的方法,具体见4内置方法
(2)去重
3.类型转换
使用set()方法,将括号里的数据转为集合类型,set方法自动对传入的数据调用了for循环的方法,循环之后的数据必须满足集合元素的要求!!
4.内置方法
4.1关系运算
friend1={“zhang”,”yang”,”liu”,”tao”}
friend2={“zhang”,”yang”,”xiao”,”wang”}
1.取交集,取出两者共同的好友
res = friend1 & friend2
print(res)
2.取并集,取出所有的好友
res = friend1 | friend2
print(res)
3.取差集,取friend1独有的好友
res = friend1 - friend2
print(res)
# 留下谁独有的就用谁去减另一个
4.取对称差集,取friend1和friend2独有的好友
print(friend1 ^ friend2)
5.父子集,包含关系
s1={1,2,3}
s2={1,2}
print(s1>s2) # true,s1是s2的父亲
4.2去重
1.只能针对不可变类型去重
priny(set([1,1,1,2,3])) # 结果为{1,2,3}
2.无法保证原来的顺序
4.3 成员运算 in
ot in
4.4 len长度方法
4.5 for循环集合取值
4.6其他内置方法
增删改查
# 1.删除集合中的元素discard方法
s={1,2,3}
s.discard(3) # 删除元素不存在不报错
s.remove(4) # 删除元素不存在报错
res = s.pop() #随机删一个并返回改删除值
# 2.更新集合
s.update({1,3,5,6}) # 原集合不存在的元素添加,存在的去重
# 3.添加一个元素
s.add(8)