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之??碌某?? target=
Sep 12 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
python中模块的__all__属性详解
Oct 26 Python
python如何实现反向迭代
Mar 20 Python
Pytorch实现神经网络的分类方式
Jan 08 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
Python OrderedDict字典排序方法详解
May 21 Python
Python基于yaml文件配置logging日志过程解析
Jun 23 Python
Python模块zipfile原理及使用方法详解
Aug 04 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
如何用python写个模板引擎
Jan 14 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 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嵌套输出缓冲代码实例
2015/05/12 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
js电话号码验证方法
2015/09/28 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
python fabric实现远程操作和部署示例
2014/03/25 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Django框架封装外部函数示例
2019/05/28 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
零基础学python应该从哪里入手
2020/08/11 Python
python 绘制场景热力图的示例
2020/09/23 Python
Python之字典添加元素的几种方法
2020/09/30 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
冬季施工防火方案
2014/05/17 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书