python基础5.2

集合

一 创建集合

 变量名={元素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

猜你喜欢

转载自blog.csdn.net/weixin_44303465/article/details/85452554