Python中集合类型(set)学习小结


Posted in Python onJanuary 28, 2015

set 是一个无序的元素集合,支持并、交、差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引、分片等类序列的操作。

初始化

s0 = set()

d0 = {}

s1 = {0}

s2 = {i % 2 for i in range(10)}

s = set('hi')

t = set(['h', 'e', 'l', 'l', 'o'])

print(s0, s1, s2, s, t, type(d0))

运行结果:
set() {0} {0, 1} {'i', 'h'} {'e', 'o', 'l', 'h'} <class 'dict'>

提示
1.s0、d0:使用 {} 只能创建空字典,创建空集必须用 set();
2.ss、sl:set 中的元素是 无序不重复 的,可以利用这个特点去除列表中的重复元素。

运算操作

print(s.intersection(t), s & t)  # 交集

print(s.union(t), s | t)   # 并集 

print(s.difference(t), s - t)  # 差集 

print(s.symmetric_difference(t), s ^ t) # 对称差集 

print(s1.issubset(s2), s1 <= s2) # 子集

print(s1.issuperset(s2), s1 >= s2)      # 包含

运行结果:

{'h'} {'h'}

{'l', 'h', 'i', 'o', 'e'} {'l', 'h', 'i', 'o', 'e'}

{'i'} {'i'}

{'i', 'l', 'o', 'e'} {'i', 'l', 'o', 'e'}

True True

False False

提示
1.非运算符的方法接受任何可迭代对象作为参数,如 s.update([0, 1]);
2.其他等价操作:s.update(t) 与 s |= t,s.intersection_update(t) 与 s &= t,s.difference_update(t) 与 s -= t,s.symmetric_difference_update(t) 与 s ^= t 等。

基本方法

s = {0}

print(s, len(s))   # 获取集合中的元素的总数

s.add("x")         # 添加一个元素

print(s)

s.update([1,2,3])  # 添加多个元素

print(s, "x" in s) # 成员资格测试

s.remove("x")      # 去掉一个元素

print(s, "x" not in s)  

s.discard("x")     # 如果集合存在指定元素,则删除该元素

c = s.copy()       # 复制集合     

print(s, s.pop())  # 弹出集合中的一个不确定元素,如果原集合为空则引发 KeyError

s.clear()          # 删除集合中的元素

print(s, c)

运行结果:
{0} 1

{0, 'x'}

{0, 'x', 1, 2, 3} True

{0, 1, 2, 3} True

{1, 2, 3} 0

set() {0, 1, 2, 3}
Python 相关文章推荐
在Python中使用模块的教程
Apr 27 Python
如何在Python中编写并发程序
Feb 27 Python
Python while 循环使用的简单实例
Jun 08 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
基于pip install django失败时的解决方法
Jun 12 Python
python调用百度语音REST API
Aug 30 Python
详解Python基础random模块随机数的生成
Mar 23 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
Python中的套接字编程是什么?
Jun 21 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 #Python
Python实现Const详解
Jan 27 #Python
python映射列表实例分析
Jan 26 #Python
Python操作MySQL简单实现方法
Jan 26 #Python
Python中的is和id用法分析
Jan 26 #Python
Python的批量远程管理和部署工具Fabric用法实例
Jan 23 #Python
推荐11个实用Python库
Jan 23 #Python
You might like
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
python对象及面向对象技术详解
2016/07/19 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
Python selenium自动化测试模型图解
2020/04/15 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
德购商城:德国进口直邮商城
2017/06/13 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
应聘自荐书
2013/10/08 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
法律专业求职信
2014/05/24 职场文书
运动会入场口号
2014/06/07 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
2014最新实习证明模板
2014/10/02 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
Vue router配置与使用分析讲解
2022/12/24 Vue.js