python 集合set 学习总结

1.集合set的表示:用大括号括起来

s = {1,2,33,33,33,44,55,66,7,8,9,'abc'}	
a.其中集合set是由不同元素组成,也就是说, 集合set中不包含重复的元素,在print(s)的时候会发现33只剩下一个了 (#也就是说,如果有一个字符串列表之类的东西, 你打算去除重复的元素却又不需要考虑顺序问题,那么直接转化为集合再转化回来即可)
b.集合set中的元素是 无序的,这里和字典类似
c.集合set中的元素必须是不可变类型,也就是说集合中只能有 整形int,字符串str和元组tuple

DDDDD.可以定义一个不可变的集合,用frozenset来定义。比如

s = frozenset('hello')	

2.集合set的添删改查

a.添加

.add() (要添加的元素) 【将指定的元素添加到集合set中,如果该元素重复了也不会报错】

b.删除

.clear() 【将指定的集合中的所有元素清除】
.pop() 【将集合中随机一个元素清除】
.remove() (指定的元素) 【将列表中指定的元素清除,找不到会报错】
.discard() (指定的元素) 【将列表中指定的元素清除,相对于remove来说,discard找不到并不会报错】

c.修改

.update() (指定的可迭代对象) 【此方法相当于.union_update,也就是将两个函数的并集求出来并更新到原函数上】

d.查询

可以通过for循环的方式将其输出

3.集合set的运算

a.交集

.intersection() (指定的集合) 【返回当前集合和指定集合的交集】
也可以用 & 运算符来表示两个集合的交集
.intersection_update() (指定的集合) 【在intersection()的基础上,把结果更新到原来的集合中】

b.并集

.union() (指定的集合) 【返回当前集合和指定集合的并集】
同样的也可以用 | 运算符来表示两个集合的并集

c.差集

.difference() (减去的集合) 【返回被减集合减去另一个集合所产生的差集】
用 - 运算符表示两个集合的差集,这里的差集,表示的是'被减集合中存在,而减集合中不存在'的元素
比如:{5,4,3,2,1} - {9,8,7,6,5,4} = {3,2,1}
.difference_update() (减去的集合) 【在difference()的基础上,将结果更新到原来的集合(被减集合)中】

d.交叉补集

.symmetric_difference() (指定的集合) 【输出两个集合的交叉补集】
什么是交叉补集,就是两个集合并起来再减去 这俩集合共有的元素,剩下的就是他们两的交叉补集
同样用 ^ 运算符一样可以达到交叉补集的效果
.symmetric_difference_update()


4.其它方法

.isdisjoint() (要与原集合进行判断的集合) 【当两集合交集为空集的时候返回true】
.issubset() (要与原集合进行判断的集合) 【当原集合是目标集合的子集时,返回true】
.issuperset() (要与原集合进行判断的集合) 【与上面的相反,当原集合是目标集合的父集时,返回true】

猜你喜欢

转载自blog.csdn.net/cApturE2F/article/details/80213933