python笔记第五天 set(集合)方法

一 set(集合)方法

  1. x = set('spam')  
  2. >>> y = set(['h','a','m'])  
  3. >>> x, y  
  4. (set(['a', 'p', 's', 'm']), set(['a', 'h', 'm'])) 

1. x & y # 交集   set(['a', 'm']) 

2. x | y # 并集   set(['a', 'p', 's', 'h', 'm']) 

3. x - y # 差集   set(['p', 's'])  

4.去除重复元素

>>> a = [11,22,33,44,11,22]  

>>> b = set(a)  

  1. >>> b  
  2. set([33, 11, 44, 22])  
  3. >>> c = [i for i in b]  
  4. >>> c  
  5. [33, 11, 44, 22]  

5. 集合与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。

 集合支持一系列标准操作,包括并集、交集、差集和对称差集

 

    a = t | s          # t 和 s的并集  

    b = t & s          # t 和 s的交集  

    c = t – s          # 求差集(项在t中,但不在s中)  

    d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中

 

 

 

  1. t.add('x')                                                           #添加一项
  2. s.update([10,37,42])                                              # 在s中添加多项
  3. t.remove('H')                                                       #使用remove()可以删除一项,如果不存在则引发 KeyError  
  4. len(s)                                                                  #set 的长度
  5. in s                                                                    #测试 x 是否是 s 的成员
  6. not in s                                                              #测试 x 是否不是 s 的成员
  7. s.issubset(t)    s <= t                                            #测试是否 s 中的每一个元素都在 t 中
  8. s.issuperset(t) s >= t                                            #测试是否 t 中的每一个元素都在 s 中
  9. s.union(t)        s | t                                               #返回一个新的 set 包含 s 和 t 中的每一个元素
  10. s.intersection(t) s & t                                            #返回一个新的 set 包含 s 和 t 中的公共元素
  11. s.difference(t)   s - t                                              #返回一个新的 set 包含 s 中有但是 t 中没有的元素
  12. s.symmetric_difference(t)  s ^ t                              #返回一个新的 set 包含 s 和 t 中不重复的元素
  13. s.copy()                                                                #返回 set “s”的一个浅复制
  14. hash(s)                                                                 #返回 s 的 hash 值
  15. s.update(t)       s |= t                                            #返回增加了 set “t”中元素后的 set “s”
  16. s.intersection_update(t)  s &= t                              #返回只保留含有 set “t”中元素的 set “s”
  17. s.difference_update(t)    s -= t                               #返回删除了 set “t”中含有的元素后的 set “s”  
  18. s.symmetric_difference_update(t)  s ^= t                #返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s” 
  19. s.discard(x)                                                          #如果在 set “s”中存在元素 x, 则删除
  20. s.pop()                                                                 #删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError
  21. s.clear()                                                                #删除 set “s”中的所有元素

 

 

 

 

 

 

 

 

 

posted @ 2016-11-30 11:22  linuxTraveler  阅读(277)  评论(1编辑  收藏  举报