博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中的集合:set与frozenset用法举例
阅读量:4286 次
发布时间:2019-05-27

本文共 1028 字,大约阅读时间需要 3 分钟。

【1】创建:

从list或tuple中创建,我就会这两种。不能从数字直接创建:a=set(1)错误!

1.sa=set(列表)

2.sa=set(tuple)

代码:

 

【2】交集

sc = sa & sb

sc=sa.intersection(sb)

sc=sb.intersection(sa)

三种是等价的

将交集赋值给当前集合:

sa=sa & sb                                --- 不推荐

sa.intersection_update(sb)    --貌似是原位操作,消耗少。推荐

【3】并集

sc=sa|sb

sc=sa.union(sb)

sc=sb.union(sa)

将并集赋值给当前集合: sa.update(sb)

【4】集合之差

属于集合A但不属于集合B

cs=sa-sb

sc=sa.difference(sb)

将集合之差赋值给原集合:

sa=sa-sb

sa.difference_update(sb)

【6】集合之差的并集。

sc= sa ^ sb    相当于 (sa-sb)|(sb-sa)

sc=sa.symmetric_difference(sb)

sc=sb.symmetric_difference(sa)

赋值给原集合:

sa.symmetric_difference_update(sb)

 

【7】

更改元素:

a.add(XXX)

a.pop()   --随机删除

a.remove(XX)   删除XX,XX必须存在,否则出错

a.discard(XX)   删除XX,XX若不存在,则do nothing

a.clear()    --情空

 

【8】

判断

sa.issuperset(sb)      若sa包含sb,返回True             相当于  sa>=sb   (sa>sb 真包含) 

sa.issubset(sb)       若sa包含于sb,返回True           相当于  sa<=sb  

sa.isdisjoint(sb)    若sb&sa==set([]),返回True

【9】frozenset:元素一经创建,不可增加、删除和修改。因此没有add、pop、discard、remove和所有以_update结尾的方法。但可以作为左值接受赋值。

frozenset和set混合运算时,返回的值以左边的操作变量为准。

frozenset(a) | set(b)   的返回值就是frozenset,

set(a) | frozenset(b)  的返回值就是set

 

 

参考资料:

1.官方文档

2.  

3.  

转载地址:http://uxxgi.baihongyu.com/

你可能感兴趣的文章
iOS/swift之截屏
查看>>
iOS/swift之获取系统所有相册和照片录像、封装相册多选
查看>>
iOS/swift之图片压缩、拉伸
查看>>
iOS/swift之图片浏览器
查看>>
iOS/swift之二级菜单导航
查看>>
iOS/swift 单选框和复选框
查看>>
ios/swift之反射
查看>>
ios/swift 之省市区三级联动的实现
查看>>
ios/swift之tableview和collectionview联动
查看>>
java之快捷键,常用框架,常用注意事项,常用小功能,常用jar包
查看>>
Java之Tomcat的安装、在eclipse中配置tomcat、配置虚拟主机
查看>>
java之system类的用法和相关方法
查看>>
java之properties配置文件的使用
查看>>
Java之路径的获取
查看>>
java之文件上传和下载的实现
查看>>
java之实现增删改查的下案例、获取元数据、DBUtils
查看>>
java之图形绘制
查看>>
java之Filter过滤器、filterConfig、禁用jsp缓存、设置图片缓存时间
查看>>
java之struts2(一)
查看>>
MAC之自媒体相关、广告联盟、自由职业
查看>>