集合
一 创建集合
变量名={元素1,元素2,元素3,...}
变量名=set(序列) 例如 变量名=set(元组,自动,字符串)
set = {1,False,'hello'}
print(set) 注意,True 会转换成数字1进行比较,False会转换成数字0进行比较
print(type(set)) # <class 'set'>
集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的(具有自动去重功能)。
s = 'hello'
set1 = set(s)
print(set) #{'e', 'l', 'o', 'h'}
将元组转化为集合
tup = (1,2,3,4,3,2,1)
set = set(tup)
print(set) #{1,2,3,4}
创建一个空集合 使用set() 内置函数
set2 = set()
print(set2) #set()
注意:集合中的值 不能是 可变数据类型
set = {'A','B','c',[1,2,3]}
print(set1) 报错
集合的添加
set1 = {'悟空','八戒'}
set1.add('三藏') #{'八戒', '悟空', '三藏'}
print(set1)
set2 = {'悟空','白骨精'}
set1.update(set2) 将set2中的元素加入到set1中
print(set1) {'三藏', '白骨精', '八戒', '悟空'}
集合的删除
set1 = {'三藏', '白骨精', '八戒', '悟空'}
set1.pop() #pop 随机删除一个元素
print(set1) 结果 :{'白骨精', '悟空', '三藏'}
set1.remove('悟空') # remove 指定删除内容
print(set1) 结果:{'白骨精', '悟空', '三藏'}
set1.clear() # clear 清空集合
print(set1) 结果#set()
del set1 直接从数据库删除set1
print(set1) 结果 报错
集合的遍历
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
取交集 # '&' 获取公共部分
print(set1 & set2 )
print(set1.intersection(set2)) intersection 将后一个集合中的元素给到前一个集合当中去 集合自动去重
取反交集 '^' 获取两个集合的非公共部分
print(set1^set2) 结果 #{1, 2, 5, 6}
print(set1.symmetric_difference(set2)) symmetric_difference
取并集 “ | ” 获取两个集合的全部内容 自动去重
print(set1|set2) 结果 #{1, 2, 3, 4, 5, 6}
print(set1.union(set2)) set1.union(set2) 取并集 将两个集合中的子元素放在一起 然后去重
取差集 “ - ” 做减法
print(set2-set1) 结果 #{5, 6}
print(set1.difference(set2)) 结果 #{1, 2} set1.difference(set2) 用前一个集合减去后一个集合
print(set1.issubset(set2)) 结果 #False
set3 = {1, 2, 3, 4}
set4 = {1, 2, 3, 4, 5, 6}
# 判断是否是子集
print(set3.issubset(set4)) #True
print(set3 < set4) #True
#判断是否是超级
print(set4>set3) #True
print(set4.issuperset(set3)) #True