python--set方法总结
概述
特点:一个无序不重复元素集
功能:关系测试(并,交,差,对称差)和消除重复元素
特殊:sets不支持indexing, slicing, 或其它类序列(sequence-like)的操作。
注:以下运算中,t与s都set集合,x为集合中的元素
构造
set() #空集合定义
Set1 = {"1", "2"}
set2 = set(list1)
Set3 =set(str) #例如:set('spam') ==set(['a', 'p', 's', 'm'])=={'a', 'p', 's', 'm'} str-->字符list-->set
t=s #t为集合s的一个引用
t=s.copy() #t为集合s的一个浅复制
基本操作(增,删,查,改)
- 增加
t.add(x) # 添加一项
s.update(t) # 在s中添加多项
- 删除
s.remove(x) #删除集合中的元素 x,返回集合 , 如果不存在则引发 KeyError
s.discard(x) #删除集合中的元素 x,返回集合,如果不存在返回集合本身
s.pop() #删除集合中的任一不确定的元素, 返回集合,如果为空则引发 KeyError
s.clear() #清空集合
- 查看
len(s) #set 的长度
hash(s) #返回 s 的 hash 值
逻辑运算
a = t | s # t 和 s的并集 s.union(t)
b = t & s # t 和 s的交集 s.intersection(t) )
c = t – s # 求差集(项在t中,但不在s中) s.difference(t)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) s.symmetric_difference(t)
s|=t # 将t添加到s中 s.update(t)
s <= t #s是t的子集 返回bool s.issubset(t)
s >= t #s是t的父集 返回bool s.issuperset(t)
s==t #s与t互为子集
s!=t #集合s与t不相等
x in s # x 在集合 s 中 返回bool
x not in s # x 不在集合 s 中 返回bool
如有任何问题,欢迎留言.