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读取json文件并将数据插入到mongodb的方法
Mar 23 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
Apr 13 Python
python实现rsa加密实例详解
Jul 19 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
python自动保存百度盘资源到百度盘中的实例代码
Aug 26 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
Python和Sublime整合过程图示
Dec 25 Python
Python如何读写字节数据
Aug 05 Python
python用opencv 图像傅里叶变换
Jan 04 Python
pytorch 实现在测试的时候启用dropout
May 27 Python
Python访问Redis的详细操作
Jun 26 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基础知识:类与对象(1)
2006/12/13 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python实现学生成绩管理系统
2020/04/05 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
英国著名书店:Foyles
2018/12/01 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
Android面试题及答案
2015/09/04 面试题
将相和教学反思
2014/02/04 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
事业单位考察材料范文
2014/12/25 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
高考学习决心书
2015/02/04 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
PHP实现两种排课方式
2021/06/26 PHP