我是靠谱客的博主 欣慰天空,最近开发中收集的这篇文章主要介绍Python中的集合:set与frozenset用法举例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【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用法举例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部