概述
【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. http://blog.csdn.net/facevoid/article/details/5348735
3. http://lingo.qulezhi.com/a-python%E4%B8%AD%E8%BF%90%E7%94%A8set%E8%BF%9B%E8%A1%8C%E9%9B%86%E5%90%88%E8%BF%90%E7%AE%97.html/
最后
以上就是欣慰天空为你收集整理的Python中的集合:set与frozenset用法举例的全部内容,希望文章能够帮你解决Python中的集合:set与frozenset用法举例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复