本身可变,可迭代,无序,不可索引,不可切片,元素不可重复,元素是不可变类型
set()括号内为可迭代对象:
s = set('12345')
print(s)
输出:
{‘5’, ‘3’, ‘2’, ‘4’, ‘1’}
add()添加元素到集合:
s = {1,2,3}
s.add('a')
print(s)
输出:
{1, 2, 3, ‘a’}
remove()删除集合中指定的元素,如果没有,会报错:
s = {1, 2, 3,'a'}
s.remove(2)
print(s)
输出:
{1, 3, ‘a’}
discard()删除集合中指定的元素,如果没有,不报错:
s = {1,3,4,5,'a'}
s.discard('b')
print(s)
输出:
{1, 3, 4, 5, ‘a’}
pop()弹出集合中栈顶的某一个元素:
s = {1, 3, 4, 5, 'a'}
s2 = s.pop()
print(s)
print(s2)
输出:
{3, 4, 5, ‘a’}
1
intersection()求两个集合的交集,并赋值给s3,也可以用&:
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1.intersection(s2)
print(s3)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1&s2
print(s3)
输出:
{1, 3}
union()求两个集合的并集,并赋值给s3,也可用|:
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1.union(s2)
print(s3)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1|s2
print(s3)
输出:
{1, 3, 4, 5, ‘c’, ‘b’, ‘a’}
defference()用集合s2求集合s1的差集,并赋值给s3,也可以用减号-:
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1.difference(s2)
print(s3)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1-s2
print(s3)
输出:
{‘a’, 4, 5}
symmetric_difference()求两个集合的交叉补集,并赋值给s3,也可以用^:
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1.symmetric_difference(s2)
print(s3)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s3 = s1^s2
print(s3)
输出:
{4, 5, ‘a’, ‘c’, ‘b’}
intersection_update(),求两个集合的交集,并更新给s1,也可以用&=:
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s1.intersection_update(s2)
print(s1)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s1 &= s2
print(s1)
输出:
{1, 3}
difference_update(),求两个集合的差集并更新给s1,也可以用-=:
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s1.difference_update(s2)
print(s1)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s1 -= s2
print(s1)
输出:
{4, 5, ‘a’}
update()求两个集合的并集,并更新给s1,也可以用|=:
s1 = {1,4,5,'a'}
s2 = {4,5,'a','b'}
s1.update(s2)
print(s1)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s1 |= s2
print(s1)
输出:
{1, 3, 4, 5, ‘a’, ‘c’, ‘b’}
symmetric_difference_update(),求两个集合的交叉补集,并更新给s1,也可以用^=:
s1 = {1, 3, 4, 5, 'a'}
s2 = {1, 3, 'b', 'c'}
s1.symmetric_difference_update(s2)
print(s1)
或
s1 = {1,3,4,5,'a'}
s2 = {1,3,'b','c'}
s1 ^= s2
print(s1)
输出:
{‘c’, 4, 5, ‘b’, ‘a’}
isdisjoint()判断两个集合是否不相交,是不相交则返回True:
s1 = {4,5,'a'}
s2 = {'b','c'}
print(s1.isdisjoint(s2))
输出:
True
issubset()判断s1是否是s2的子集,也可以用<=:
s1 = {4,5,'a'}
s2 = {4,5,'a','b'}
print(s1.issubset(s2))
或
s1 = {4,5,'a'}
s2 = {4,5,'a','b'}
print(s1<=s2)
输出:
True
issuperset()判断s1是否是s2的父集,也可以用>=:
s1 = {4,5,'a'}
s2 = {4,5,'a','b'}
print(s1.issuperset(s2))
或
s1 = {4,5,'a'}
s2 = {4,5,'a','b'}
print(s1>=s2)
输出:
False
frozenset(),把可迭代对象设置为冰冻集合s:
s = frozenset(['2',3,4])
print(s)
输出:
frozenset({‘2’, 3, 4})