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的Django框架下使用django-tagging的教程
May 30 Python
Python数据类型学习笔记
Jan 13 Python
Python实现的快速排序算法详解
Aug 01 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
解决python中使用plot画图,图不显示的问题
Jul 04 Python
Python和Go语言的区别总结
Feb 20 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
深入学习python多线程与GIL
Aug 26 Python
详解字符串在Python内部是如何省内存的
Feb 03 Python
Selenium alert 弹窗处理的示例代码
Aug 06 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 Python
这样写python注释让代码更加的优雅
Jun 02 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抓取页面与代码解析 推荐
2010/07/23 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
Javascript 圆角div的实现代码
2009/10/15 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
python删除列表内容
2015/08/04 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
简单了解Python生成器是什么
2019/07/02 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
业务部门经理岗位职责
2014/02/23 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
2014年保洁工作总结
2014/11/24 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
水电工岗位职责
2015/02/14 职场文书