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字符串格式化
Jun 15 Python
python添加模块搜索路径方法
Sep 11 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
Oct 30 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
python交易记录链的实现过程详解
Jul 03 Python
python3图片文件批量重命名处理
Oct 31 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
Django操作cookie的实现
May 26 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 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中this,self,parent的区别详解
2013/06/08 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
js实现一键复制功能
2017/03/16 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
Python实现的彩票机选器实例
2015/06/17 Python
python爬取指定微信公众号文章
2018/12/20 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
如何理解python面向对象编程
2020/06/01 Python
如何用python批量调整视频声音
2020/12/22 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
java程序员面试交流
2012/11/29 面试题
优秀教师自我评价范文
2014/09/27 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
公司与个人合作协议书
2016/03/19 职场文书
pytorch MSELoss计算平均的实现方法
2021/05/12 Python