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抓取模板之家的CSS模板
Mar 16 Python
Python中datetime常用时间处理方法
Jun 15 Python
Python实现多并发访问网站功能示例
Jun 19 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
如何使用Cython对python代码进行加密
Jul 08 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 Python
python使用yaml 管理selenium元素的示例
Dec 01 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 Python
变长双向rnn的正确使用姿势教学
May 31 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作的文本留言本的例子(三)
2006/10/09 PHP
PHP新手上路(十)
2006/10/09 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
js 编写规范
2010/03/03 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
仓库组长岗位职责
2014/01/29 职场文书
语文教学随笔感言
2014/02/18 职场文书
预备党员的自我评价
2014/03/12 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
Jsonp劫持学习
2021/04/01 PHP
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js