python数字的集合(set)类型,是无序集合,集合中的元素(项)不会重复,不管添加多少个相同元素(项),只会保存1次。
python集合是可迭代对象。
1.1 set()和{}用法
set() -> new empty set objectset(iterable) -> new set object{元素项}描述
python的set()函数用于创建集合对象。
入参
set()不送入参,创建空集合。
iterable:送迭代对象,比如字符串、元组等。创建非空集合。
表达式{元素项},创建非空集合。
注意
集合元素无序,且唯一。
无序:生成的集合后的元素顺序与定义集合时的顺序不一致。
唯一:多次添加重复的元素,只会保留一次。
示例
>>> n=set();x=set('梯阅线条');y=set('梯阅线条软件测试开发');z={'梯','阅','线条'}>>> nset()>>> x{'梯', '阅', '线', '条'}>>> y{'件', '软', '发', '梯', '阅', '试', '条', '线', '开', '测'}>>> z{'梯', '阅', '线条'}#集合元素重复添加,只保存一次>>> u=set('梯阅线条梯阅线条python集合')>>> u{'t', 'h', '梯', '阅', 'p', '合', '条', 'o', '线', 'n', 'y', '集'}1.2 集合表达式序号表达式描述
1 ‘s’ in set 判断元素是否属于集合。‘s’在集合set里返回true,否则返回false
2 xy,x>=y,x==y,x!=y 集合子集和超集值相等性操作符
3 x y
4 x ^ y 集合对称差,取属于集合x且不属于集合y,或属于集合y且不属于集合x的元素。即集合交集以外的元素。
5 x & y,x.intersection(y) 集合交集,取集合x和集合y都有的元素
7 x – y 集合差集,取在集合x,不在集合y的元素
示例
>>> s1=set('123')>>> s2=set('345')>>> s1{'3', '2', '1'}>>> s2{'5', '3', '4'}>>> s1^s2{'2', '5', '1', '4'}>>> s1&s2{'3'}>>> s1|s2{'5', '3', '1', '2', '4'}>>> s1-s2{'2', '1'}>>> 1 in s1false>>> '1' in s1true>>> s1 >> s1 > s2false>>> s1 != s2true1.3 集合方法1.3.1 intersection()用法
x.intersection(y)描述
python集合intersection()方法,用于求集合交集。
x.intersection(y),集合x与集合y的交集,对应表达式x&y。
入参
y:集合
出参
返回交集集合
示例
>>> s1=set('123')>>> s2=set('345')>>> s1{'3', '2', '1'}>>> s2{'5', '3', '4'}>>> s1.intersection(s2){'3'}1.3.2 add()用法
x.add(e)描述
python集合add()方法,向集合添加元素。
x.add(e),向集合x添加元素e,如果存在则不变,否则新增。
入参
e:集合元素。
出参
改变原始集合。
示例
>>> s1{'3', '2', '1'}>>> s1.add('6')>>> s1{'6', '3', '2', '1'}1.3.3 update()用法
x.update(set)描述
python集合update()方法,向集合添加集合或元素。
x.update(set) ,向集合x添加集合set,或者添加元素。
入参
set:集合或元素。
出参
改变原始集合。
示例
>>> s1{'6', '3', '2', '1'}>>> s1.update(set('127'))>>> s1{'7', '6', '3', '1', '2'}1.3.4 remove()用法
x.remove(e)描述
python集合remove()方法,从集合删除指定元素。
x.remove(e),从集合x删除元素e。如果元素e不存在,则报错。
入参
e:要删除的元素
出参
改变原始集合。
示例
>>> s1{'7', '6', '3', '1', '2'}>>> s1.remove('7')>>> s1{'6', '3', '1', '2'}>>> s1.remove('7')traceback (most recent call last): file , line 1, in1.3.5 discard()用法
x.discard(e)描述
python集合discard()方法,从集合删除指定元素。
x.discard(e),从集合x删除元素e。如果元素e不存在,不会报错。
入参
e:要删除的元素
出参
改变原始集合。
示例
>>> s1{'6', '3', '1', '2'}>>> s1.discard('6')>>> s1{'3', '1', '2'}>>> s1.discard('6')>>> s1{'3', '1', '2'}1.3.6 union()用法
s1.union(s2)描述
python集合union()方法,用于求集合的并集。
s1.union(s2),求集合s1和s2的并集。对应表达式s1|s2
入参
s2:集合
出参
返回新的集合
示例
>>> s1{'3', '1', '2'}>>> s2{'5', '3', '4'}>>> s1.union(s2){'5', '3', '1', '2', '4'}1.3.7 issubset()用法
s1.issubset(s2)描述
pythhon集合issubset()方法,用于判断集合关系。
s1.issubset(s2),s1是s2的子集(s1的全部元素都在s2集合),则返回true,否则返回false。
入参
s2:父集合
出参
s1是s2的子集,返回true,否则返回false。
示例
>>> s1{'3', '1', '2'}>>> s2{'2', '5', '3', '1', '4'}>>> s1.issubset(s2)true>>> s2.issubset(s1)false1.4 集合不可变和冻结集合python集合的元素只能是不可变对象,比如数字、字符串、元组等,不能为列表、字典、集合等。如果集合要嵌入集合,则要用frozenset方法。
示例
>>> s1{'3', '1', '2'}>>> s1.add(5)>>> s1{'3', 5, '1', '2'}>>> s1.add([6,7])traceback (most recent call last): file , line 1, in1.5 集合解析集合解析和列表解析类似,只需将循环表达式写在集合大括号{}里面。
示例
>>> {c*2 for c in '梯阅线条'}{'线线', '梯梯', '条条', '阅阅'}
以太网基础:为什么要为节点分配VLAN呢?
LM2675电源芯片的内部设计原理和结构
三星开始恢复针对存储器产业的投资 未来或冲击中国台湾存储器厂商的营运状况
草地贪夜蛾杀虫灯的应用优势是什么
双通道方法让Zynq SoC资源利用最大化
python集合表达式及方法
Gartner日本发布2019新技术发展曲线,AR云、沉浸式工作空间作为新技术引入
存储器需求大增 价格上涨60%
Qorvo看好智能手机市场复苏,营收和利润均超预期
液体变焦镜头在光流控芯片内的集成应用与问题及解决方案
FPGA相关技术人员,没有中年危机?
一表双芯:传统钟表行业迈向智能时代的关键一步
萨科微slkor推出光耦SL601,积极做好国产替代
安世半导体恒定电流LED驱动器介绍 经济高效、可靠
采用LIBS成像技术研究纳米颗粒在单细胞内的亚细胞分布
《四期EMC 特训营》开课倒计时19天!
华为“达芬奇计划”:AI技术为智能手机赋能,进军人工智能市场
什么是变频电机有什么好处
血糖仪语音芯片NV040C,内置MCU,支持功能定制
新型智能锂离子电池充电控制器LTC4007应用设计