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下利用OpenCV来旋转图像的教程
Apr 16 Python
python之Socket网络编程详解
Sep 29 Python
python 移除字符串尾部的数字方法
Jul 17 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 Python
Django--权限Permissions的例子
Aug 28 Python
python多线程实现TCP服务端
Sep 03 Python
pytorch实现线性拟合方式
Jan 15 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
如何卸载python插件
Jul 08 Python
Python JSON常用编解码方法代码实例
Sep 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网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
php链式操作的实现方式分析
2019/08/12 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
详解Angular如何正确的操作DOM
2018/07/06 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
Python中无限元素列表的实现方法
2014/08/18 Python
python如何通过protobuf实现rpc
2016/03/06 Python
Python 性能优化技巧总结
2016/11/01 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
幼儿园新学期寄语
2014/01/18 职场文书
座谈会主持词
2014/03/20 职场文书
2016新年感言
2015/08/03 职场文书
导游词之凤凰古城
2019/10/22 职场文书
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android