集合类型内建方法

一、集合类型方法

方法名称

操作

s.issubset(t) 如果s是t的子集,则返回True,否则返回False
s.issuperset(t) 如果s是t的超集,则返回True,否则返回False
s.union(t) 返回一个新集合,该集合是s和t的并集
s.intersection(t) 返回一个新集合,该集合是s和t的交集
s.difference(t) 返回一个新集合,该集合是s的成员,但不是t的成员
s.symmetric_difference(t) 返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
s.copy() 返回一个新集合,它是集合s的浅复制

 

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s  
  4. set(['c''e''h''o''p''s'])  
  5. >>> t  
  6. set(['b''h''k''o''p''s'])  
  7. >>> s.issubset(t)  
  8. False  
  9. >>> s.issuperset(t)  
  10. False  
  11. >>> s.union(t)  
  12. set(['c''b''e''h''k''o''p''s'])  
  13. >>> s.intersection(t)  
  14. set(['h''s''o''p'])  
  15. >>> s.difference(t)  
  16. set(['c''e'])  
  17. >>> s.symmetric_difference(t)  
  18. set(['b''e''k''c'])  
  19. >>> s.copy()  
  20. set(['p''c''e''h''s''o'])  


 

        二、可变集合类型的方法

        1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。

[python] view plain copy
  1. >>> s.update(t)  
  2. >>> s  
  3. set(['c''b''e''h''k''o''p''s'])  

 

        2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s.intersection_update(t)  
  4. >>> s  
  5. set(['h''s''o''p'])  


        3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s.difference_update(t)  
  4. >>> s  
  5. set(['c''e'])  


        4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s.symmetric_difference_update(t)  
  4. >>> s  
  5. set(['c''b''e''k'])  


        5、s.add(obj)——在集合s中添加对象obj

[python] view plain copy
  1. >>> s.add('o')  
  2. >>> s  
  3. set(['c''b''e''k''o'])  


        6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError

[python] view plain copy
  1. <p>>>> s.remove('b')  
  2. >>> s  
  3. set(['c''e''k''o'])  
  4. >>> s.remove('a')</p><p>Traceback (most recent call last):  
  5.   File "<pyshell#53>", line 1in <module>  
  6.     s.remove('a')  
  7. KeyError: 'a'  
  8. </p>  


        7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj

[python] view plain copy
  1. >>> s.discard('a')  
  2. >>> s  
  3. set(['c''e''k''o'])  
  4. >>> s.discard('e')  
  5. >>> s  
  6. set(['c''k''o'])  


        8、s.pop()——删除集合是中的任意一个对象,并返回它

[python] view plain copy
  1. >>> s.pop()  
  2. 'c'  
  3. >>> s  
  4. set(['k''o'])  


        9、s.clear()——删除集合s中的所有元素

[python] view plain copy
  1. >>> s.clear()  
  2. >>> s  
  3. set([])

 

 

 

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s  
  4. set(['c''e''h''o''p''s'])  
  5. >>> t  
  6. set(['b''h''k''o''p''s'])  
  7. >>> s.issubset(t)  
  8. False  
  9. >>> s.issuperset(t)  
  10. False  
  11. >>> s.union(t)  
  12. set(['c''b''e''h''k''o''p''s'])  
  13. >>> s.intersection(t)  
  14. set(['h''s''o''p'])  
  15. >>> s.difference(t)  
  16. set(['c''e'])  
  17. >>> s.symmetric_difference(t)  
  18. set(['b''e''k''c'])  
  19. >>> s.copy()  
  20. set(['p''c''e''h''s''o'])  


 

        二、可变集合类型的方法

        1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。

[python] view plain copy
  1. >>> s.update(t)  
  2. >>> s  
  3. set(['c''b''e''h''k''o''p''s'])  

 

        2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s.intersection_update(t)  
  4. >>> s  
  5. set(['h''s''o''p'])  


        3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s.difference_update(t)  
  4. >>> s  
  5. set(['c''e'])  


        4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素

[python] view plain copy
  1. >>> s = set('cheeseshop')  
  2. >>> t = set('bookshop')  
  3. >>> s.symmetric_difference_update(t)  
  4. >>> s  
  5. set(['c''b''e''k'])  


        5、s.add(obj)——在集合s中添加对象obj

[python] view plain copy
  1. >>> s.add('o')  
  2. >>> s  
  3. set(['c''b''e''k''o'])  


        6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError

[python] view plain copy
  1. <p>>>> s.remove('b')  
  2. >>> s  
  3. set(['c''e''k''o'])  
  4. >>> s.remove('a')</p><p>Traceback (most recent call last):  
  5.   File "<pyshell#53>", line 1in <module>  
  6.     s.remove('a')  
  7. KeyError: 'a'  
  8. </p>  


        7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj

[python] view plain copy
  1. >>> s.discard('a')  
  2. >>> s  
  3. set(['c''e''k''o'])  
  4. >>> s.discard('e')  
  5. >>> s  
  6. set(['c''k''o'])  


        8、s.pop()——删除集合是中的任意一个对象,并返回它

[python] view plain copy
  1. >>> s.pop()  
  2. 'c'  
  3. >>> s  
  4. set(['k''o'])  


        9、s.clear()——删除集合s中的所有元素

[python] view plain copy
  1. >>> s.clear()  
  2. >>> s  
  3. set([]) 
posted @ 2017-12-04 11:22  丁培飞  阅读(196)  评论(0编辑  收藏  举报