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装饰器
May 09 Python
在Python中操作字典之setdefault()方法的使用
May 21 Python
Python编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
Python操作MongoDB数据库的方法示例
Jan 04 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
基于Django实现日志记录报错信息
Dec 17 Python
Pytorch中.new()的作用详解
Feb 18 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
利用Python实现翻译HTML中的文本字符串
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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
使用python绘制人人网好友关系图示例
2014/04/01 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
python statsmodel的使用
2020/12/21 Python
食品营养与检测应届生求职信
2013/11/08 职场文书
网站设计师的岗位职责
2013/11/21 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
担保书格式及范文
2014/04/01 职场文书
房地产开发项目建议书
2014/05/16 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
高中生物教学反思
2016/02/20 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL
对讲机的最大通讯距离是多少
2022/02/18 无线电
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python