集合中的元素没有重复值,元素值以list为输入。分为可变对象集合set和不可变对象集合frozenset
可变集合set
(1)创建空集合:set = ()
(2)创建有数据的集合: set1 = set([1,2,3]) 集合需要以list为输入
(3)判断元素是否在集合中: 2 in set1 在集合中返回True ,不在集合中返回False
(4)判断元素不在集合中: 4 not in set1 不在集合中返回True ,在集合中返回False
(5)添加元素: set1.add('4')
(6)随机删除集合中的一个元素:set1.pop() 返回被删除的元素值
(7)删除集合中指定的元素:set1.remove(3) 删除不存在的元素直接报错
(8)删除集合中指定的元素:set1.discard(4) 删除不存在的元素不会报错
(9)清空元素:set1.clear()
(10)复制集合:set2 = set2.copy() 生成一个新的集合对象
(11)两个集合的差集: set1.difference(set2) 返回集合set1 有但是set2没有的值(set2有set1没有的值不返回)
(12)找出差集并更新对比的集合:set1.difference(set2) 将set1中有set2中没有的值覆盖set1原有的值(set1改变,set2不变)
(13)集合并集:set1.union(set2) 返回两个集合合并之后的集合,生成一个新的集合
(14)并集更新操作:set1.update(set2) 两个集合的并集覆盖set1原有的集合值
(15)集合的交集: set1.intersection(set2) 返回两个集合的交集,生成新的对象
(16)集合交集并更新:set1.intersection_update(set2) 两个集合的交集覆盖集合set1原来的值,不会生成新的对象
(17)检测当前集合是否是另外一个集合的超集: set1.issuperset(set2) 是超集返回True,不是超集返回False
(18)检测当前集合是否是另外一个集合的子集:set1.issubset(set2) 是子集返回True,不是子集返回False
(19)检测两个集合是否不存在交集:set1.isdisjoint(set2) 不存在交集返回True ,存在交集返回False
(20)两个集合的对称差集:set1.symmetric_difference(set2) 会生成一个新的集合对象
(21)对称更新差集: set1.symmetric_difference_update(set2) 不会生成一个新的集合对象
(22)遍历集合:
def fun_set(sets):
for set in sets:
print set
不可变集合frozenset,集合对象不可被修改
(1)创建空的集合: frozen = frozenset()
(2)创建有数据的集合:frozen = frozenset(('a','b','c'))
(3)判断元素是否在集合中: 'c' in frozen
(4)遍历集合:
def fun_frozen(frozens):
for frozen in frozens:
print frozen
(5)复制集合:frozen1 = frozen.copy() 生成一个新的对象
备注:不修改集合对象本身的方法frozenset都可以使用