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 13 Python
Python isinstance函数介绍
Apr 14 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
python smtplib模块实现发送邮件带附件sendmail
May 22 Python
Python3.5文件修改操作实例分析
May 01 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
python3实现猜数字游戏
Dec 07 Python
python 简单的调用有道翻译
Nov 25 Python
python单例模式的应用场景实例讲解
Feb 24 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 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 mysqli扩展类是否开启
2016/12/24 PHP
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
2017/05/03 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
python实现sublime3的less编译插件示例
2014/04/27 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
python开发之list操作实例分析
2016/02/22 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
解决Python中回文数和质数的问题
2019/11/24 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
软件工程专业推荐信
2013/10/28 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
小学生手册家长意见
2015/06/03 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
SQL基础的查询语句
2021/11/11 MySQL
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android