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支持断点续传的多线程下载示例
Jan 16 Python
Python内置函数之filter map reduce介绍
Nov 30 Python
python在指定目录下查找gif文件的方法
May 04 Python
python版本的读写锁操作方法
Apr 25 Python
深入理解Python中range和xrange的区别
Nov 26 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 Python
python监控键盘输入实例代码
Feb 09 Python
Django如何配置mysql数据库
May 04 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
python实现用户名密码校验
Mar 18 Python
Python流程控制语句的深入讲解
Jun 15 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 number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
java必学必会之static关键字
2015/12/03 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
详解Python中with语句的用法
2015/04/15 Python
Python字符串处理之count()方法的使用
2015/05/18 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
Python中单、双下划线的区别总结
2017/12/01 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
考博自荐信
2013/10/25 职场文书
求职信格式范本
2013/11/15 职场文书
父母对孩子的寄语
2014/04/09 职场文书
管理建议书范文
2014/05/13 职场文书
三人合伙协议书范本
2014/10/29 职场文书
小学班主任评语
2014/12/29 职场文书
会计工作岗位职责
2015/02/03 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
认识实习感想
2015/08/10 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
小学毕业教师寄语
2019/06/21 职场文书