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实现抓取网页并且解析的实例
Sep 20 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
python爬取个性签名的方法
Jun 17 Python
Django框架模板介绍
Jan 15 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
python pandas模块基础学习详解
Jul 03 Python
python实现按首字母分类查找功能
Oct 31 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
pytorch+lstm实现的pos示例
Jan 14 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
python实现商品进销存管理系统
May 30 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
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
vue接口请求加密实例
2020/08/11 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
Python实现字典的key和values的交换
2015/08/04 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
python 安装移动复制第三方库操作
2020/07/13 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
英国在线泳装店:Simply Swim
2019/05/05 全球购物
计算机应届毕业生自荐信范文
2014/02/23 职场文书
个人安全生产承诺书
2014/05/22 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
保洁员岗位职责
2015/02/04 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
mysql全面解析json/数组
2022/07/07 MySQL