python基础知识小结之集合


Posted in Python onNovember 25, 2015

集合

特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。

 定义

set() -> new empty set object
 set(iterable) -> new set object
 s = {0}

应用:去重

>>> lst1 = [1,1,2,2,3,4,2]
 >>> list(set(lst1))
 [1, 2, 3, 4]

常用操作

集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
子集< <=及超集> >=
增删,清空操作

具体见如下代码例子

>>> lst1 = [1,2]
>>> lst2 = [2,3]
>>> a = set(lst1) #定义集合
>>> b = set(lst2)
>>> a,b
({1, 2}, {2, 3})
>>> a|b #取并集
{1, 2, 3}
>>> a&b #取交集
{2}
>>> a-b #取差集
{1}
>>> b-a #取差集
{3}
>>> list(a) #转换集合为列表,也可转为元组,如 tuple(a)返回 (1,2)
[1, 2]
>>> a < b #子集判断
False
>>> c = set([1])
>>> c
{1}
>>> c < a #子集判断
True
>>> c <= a #子集判断
True
>>> d = set([1,2,3])
>>> d > a #超集判断
True
>>> 
>>> d >= a #超集判断
True
>>> a,b
({1, 2}, {2, 3})
>>> a^b # 对称差集 
{1, 3}
>>> c
{1}
>>> d
{1, 2, 3}
>>> a^d # 对称差集 
{3}
>>> s = {0}
>>> type(s)
<class 'set'>
>>> 
>>> print(s, len(s)) #集合长度 
{0} 1
>>> s.add('1') #添加元素
>>> s
{0, '1'}
>>> s.update([2,3]) #添加多个元素
>>> s
{0, 2, 3, '1'}
>>> s.remove(2) #删除指定元素,如没有则报错
>>> s
{0, 3, '1'}
>>> s.pop() #随便删元素(貌似没什么用)
0
>>> s
{3, '1'}
>>> s.discard(3) #删除指定元素
>>> s
{'1'}
>>> s.clear() #清空集合
>>> s
set()
Python 相关文章推荐
Python爬取网易云音乐热门评论
Mar 31 Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
Python 将pdf转成图片的方法
Apr 23 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
python 字典操作提取key,value的方法
Jun 26 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
python绘制雪景图
Dec 16 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 Python
python 多线程实现检测服务器在线情况
Nov 25 #Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 #Python
简单解决Python文件中文编码问题
Nov 22 #Python
Python制作简单的网页爬虫
Nov 22 #Python
Python编程中使用Pillow来处理图像的基础教程
Nov 20 #Python
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 #Python
详解Python编程中time模块的使用
Nov 20 #Python
You might like
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
幼儿教师研修感言
2014/02/12 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
音乐教师求职信
2014/06/28 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
大学生助学金感谢信
2015/01/21 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android