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复制文件代码实现
Dec 23 Python
Python列表切片用法示例
Apr 19 Python
Python numpy 常用函数总结
Dec 07 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
python super的使用方法及实例详解
Sep 25 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
详解Python中的进程和线程
Jun 23 Python
python基础之类属性和实例属性
Oct 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
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
javascript 常用方法总结
2009/06/03 Javascript
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
详解Vue项目中实现锚点定位
2019/04/24 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
Python多进程机制实例详解
2015/07/02 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
优秀会计求职信
2014/07/04 职场文书
老干部座谈会主持词
2015/07/03 职场文书
给校长的建议书范文
2015/09/14 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
vue修饰符.capture和.self的区别
2022/04/22 Vue.js