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中操作时间之tzset()方法的使用教程
May 22 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
实例详解Python装饰器与闭包
Jul 29 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
Python使用进程Process模块管理资源
Mar 05 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 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函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php中JSON的使用方法
2015/04/30 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Python3中列表list合并的四种方法
2019/04/19 Python
python实现名片管理器的示例代码
2019/12/17 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
python add_argument()用法解析
2020/01/29 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
专营店会计助理岗位职责
2013/11/29 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB