Python集合

集合中的元素没有重复的无序的,集合会自动排列里面的值。

创建集合的唯一方法是用工厂方法set()、frozenset(),参数必须是可迭代的,例如序列或迭代器

方式一、s=set('cheese')

s -> set(['c','e','h','s'])       len(s)=4

方式二、t=frozenset('book')

t -> frozenset(['b','o','k'])

对于的两种集合类型要一样 in/not 是..的成员 'e' in set(['c','e'])
== 等于  set('posh')==set('shop')
!= 不等于  
< 是...的子集  
<= 是...的子集  
> 是...的超集  
>= 是...的超集  set('bookshop')>=set('shop')

如果左右两个操作数类型相同,即结果类型也相同

若左右两个操作数类型不同,结果与左操作数类型相同

& 交集  s&t
| 合集  s|t    ->  set([c','e','h','s','b','o','k'])
- 差补  s-t  (该集合中的元素只属于s,不属于t)
^ 对称差分  s^t  (该集合中的元素只属于s,或只属于t,不同时属于两者)
可变集合的操作 s.add() 添加元素 s.add('z')
  s.update() 或 |= 更新元素 s.update('abc')     s|=set('pypi')
  s.intersection_update(t)    
  s.difference_update(t)    
  s.symmetric_difference_update(t)    
  s.remove() 移除元素  s.remove('z')
  s.discard(obj) 如果obj是集合s的元素,从集合s中删除  
  s.pop() 删除集合s中任意一个对象,并返回它  
  s.clear() 删除集合s中的所有元素  
内建函数  s.issubset(t)  如果s是t的子集,则返回True,否则返回False  
  s.issuperset(t)  如果t是s的超集,则返回True,否则返回False  
  s.union(t) 返回s和t的并集  
  s.intersection(t)  返回s和t的交集  
  s.difference(t) 返回是s的成员不是t的成员的集合   
  s.symmetric_difference(t) 返回不是s和t共有的成员  
  s.copy() 返回s的浅复制集合  

集合的相关模块:

Set或ImmuteablSet

原文地址:https://www.cnblogs.com/zz27zz/p/9777003.html