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实现比较两个列表(list)范围
Jun 12 Python
Python判断文本中消息重复次数的方法
Apr 27 Python
python 根据pid杀死相应进程的方法
Jan 16 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
python 字典 setdefault()和get()方法比较详解
Aug 07 Python
Python解析json代码实例解析
Nov 25 Python
利用pyecharts读取csv并进行数据统计可视化的实现
Apr 17 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
用python对oracle进行简单性能测试
Dec 05 Python
Python实现学生管理系统(面向对象版)
Jun 24 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
php数组去除空值函数分享
2015/02/02 PHP
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Python创建字典的八种方式
2019/02/27 Python
python数据预处理方式 :数据降维
2020/02/24 Python
python实现猜拳游戏项目
2020/11/30 Python
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
个人租房协议书范本
2014/09/30 职场文书
2014年班组长工作总结
2014/11/20 职场文书
安全先进班组材料
2014/12/26 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL