集合类型(set)的使用

集合类型(set)的使用

返回首页

  集合的特性:天然去重,集合无序集合本身是可变数据类型,但是集合内的元素一定是不可变数据类型

   集合用于做关系测试,集合的表述形式是 " { } ",和字典的表述一样,但是集合没有key和value的关系。

  集合的使用方法:交集intersection( )、差集difference( )、并集union( )、反向差集(也叫对称差集)symmetric_difference( )。

   判断元素是否在集合中,用 in 去判断。用布尔值返回结果,True是在集合里,False是不在集合里。

Linux = {'wang','george',}
print("wang" in Linux)

  交集intersection( ):两个数据集里面都有的。

Linux = {'wang','george',}
python = {'wang',"george",'you','mack','rachel'}
print(Linux.intersection(python))
print(Linux & python)

  并集union( ):将两个数据集合并在一个数据集里,同时去重。union不会改变原有的集合数据,只是将求并集的结果返回而已。

Linux = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
print(Linux.union(python))
print(Linux | python)

  并集的另外用法:update( )方法。update()和union()的区别在于update是会改变数据集的,而union不会改变。 

Linux1 = {'wang','george',"KFC"}
Linux2 = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
print(Linux1.union(python))
print(Linux1)
Linux2.update(python)
print(Linux2)

  差集difference( ):在A数据集里有,在B数据集里没有的。

Linux = {'wang','george',}
python = {'wang',"george",'you','mack','rachel'}
print(Linux.difference(python))   #打印Linux有,而python没有的
print(python.difference(Linux))   #打印python有,而Linux没有的
print(Linux - python)
print(python - Linux)

  反向差集(也叫对称差集)symmetric_difference( ):两个数据集除去都有的元素,剩下的元素组成新的集合,就是反向差集。

Linux = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
print(Linux.symmetric_difference(python))
print(Linux ^ python)

  ### 合的增删改查操作:

  增操作:

Linux = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
Linux.add("aaaa")   #增加
print(Linux)
Linux1 = Linux.copy()     #复制,和列表字典的复制一样
print(Linux)
print(Linux1)

  删操作:

Linux = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
Linux.clear()   #清空Linux集合
print(Linux)
Linux.discard('KFC')   # 删除  但是,元素不存在,不会报错
print(Linux)
Linux.pop()   #随机删除
print(Linux)
Linux.remove('ggg')  # 删除  但是,元素不存在,会报错
print(Linux)

  改操作:

Linux = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
Linux.update(python) #把Python合并到Linux中。彻底修改Linux集合。
print(Linux)
Linux_diff = Linux.difference(python)   #求差集并赋值改Linux集合
print(Linux_diff)

  查操作:

Linux = {'wang','george',"KFC"}
python = {'wang',"george",'you','mack','rachel'}
a = Linux.issubset(python)   #子集,判断Linux,是不是Python的子集
a = Linux.issuperset(python)   #子集,判断Linux,是不是Python的子集
print(a)
b=Linux.isdisjoint(python)   #两个集合没有关系,返回真。
print(b)

------------  END  ------------

   

原文地址:https://www.cnblogs.com/george92/p/12936342.html