Python中的集合:set与frozenset用法举例
2013-01-07 22:02
363 查看
【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. /article/9534722.html
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/
从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. /article/9534722.html
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--小甲鱼学习笔记--第27课:集合(set()、frozenset())
- python中set(可变集合)、frozenset(不可变集合)的基本操作
- python 集合概念set用法
- python中frozenset( )和set()的用法区别
- Python中set(集合)的用法
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- 认识python中的set集合及其用法
- Python_集合set和frozenset的内建方法详解
- Python集合set与frozenset的区别
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- python set集合的用法
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- 认识python中的set集合及其用法
- Python中集合(set)的基本操作以及一些常见的用法
- python的列表(List),元组(Tuple),集合(Set),字典(Dict)
- Python初学 set集合以及Dictionaries字典
- (转)python set 用法
- Python 字典dict 集合set
- Python 中的 集合类型 --- set