python之集合

集合(set),它是一个无序的,不重复的数据组合,它是作用如下:

1、去重,也就是去除重复的内容。有一点值得注意的是:将一个列表(list)变成集合的时候,会自动去重

2、关系测试。测试数据之间的交、并等关系。

下面,我们用讲解下有关集合的方法操作:

s = set([3,5,9,10])      #创建一个数值集合  
  
t = set("Hello")         #创建一个唯一字符的集合  


a = t | s          # t 和 s的并集,也就是将s和t中的元素放在一起,去掉重复的数据  
  
b = t & s          # t 和 s的交集,也就是将s和t共有的数据放在一起 
  
c = t – s          # 求差集(数据在t中,但不在s中)  
  
d = t ^ s          # 对称差集(数据在t或s中,但不会同时出现在二者中,也就是t和s的并集减去t和s的交集)  
  
   
  
基本操作:  
  
t.add('x')            # 添加一项  
  
s.update([10,37,42])  # 在s中添加多项  
  
   
  
使用remove()可以删除一项:  
  
t.remove('H')  #有个问题,那怎么移除重复的数据呢?比如说集合里面两个相同的数字,怎么同时去掉?
         '''答案是显然的————————————————————————————————————————————————————————


---------------------集合中不存在重复的数据!所以也没有这种操作!------------------------'''
len(s) 返回s的长度 x in s 测试 x 是不是 s 的成员,也就是说 x 是不是包含在 s 里面,是的话返回True x not in s 测试 x 是否不是 s 的成员,跟x in s是相反的操作 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中,也就是s是不是t的子集 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 ,也就是s是不是t的父集 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素,交集 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 ,并集 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 ,差集 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 ,对称差集 s.copy() 返回 集合 s的一个浅复制

   今天有关集合的讲解就到这里吧,文中有误的地方敬请读者提出,笔者会尽快改正!谢谢您的支持!

posted @ 2017-10-20 09:57  编程菜园  阅读(211)  评论(0编辑  收藏  举报