set

set的元素要求
set的元素必须可hash,目前学过的不可hash的类型有list、set;

1、元素不可以被索引

  可变的、无序的、不重复的元素的集合

2、set可以被迭代

set增加

  add(elem)

   增加一个元素到set中,如果元素存在则什么都不做;

  update(*others)

   合并其他元素到set集合中来;参数others必须是可迭代对象;就地修改;可以写多个可迭代对象;
set删除

  remove(elem)

    如果set中有删除对象,则删除,如果没有,则抛出keyError;
  discard(elem)

    元素存在则删除,不存在则什么都不做;

  pop()

    移除并返回任意元素,因为是无序的,所以是任意元素;

   空集合返回KeyError;

  clear()

    移除所有元素;

set修改、查询

  set要么删除要么假如新的元素;

  非线性结果,无法被索引,可以迭代所有元素;

成员运算符

  

  通过测试发现,set的处理速度明显比list要高很多;由于set中没有重复数据,则set会通过hash的方式将数据计算出一个唯一hash值;所以处理会比较快;

set和线性结构
线性结构的查询时间复杂度是O(n),即随着数据规模的增大而增加耗时;

set、dict等结构,内部使用hash值作为key,时间复杂度可以做到O(1);查询时间和数据规模无关;

可hash类型

  数值型int、float、complex

  布尔型True、False

  字符串string、bytes

  tuple

  None

  以上都是不可变类型,成为hash类型;

set的元素必须是可hash的;

集合运算

并集

  union(*others) 返回和多个集合合并后的新的集合

  |运算符重载;等同于union;

  update(*others) 和多个集合合并,就地修改;

  |= 等同于update

交集

  intersection(*others) 返回多个集合的交集

  & 等同于intersection

  intersection_update(*others) 获取和多个集合的交集,并就地修改;

  &= 等同于intersection_update

差集

  differece(*others) 返回和多个集合的差集

  - 等同于difference

  difference_update(*others) 获取和多个集合的差集并就地修改;

  -= 等同于difference_update

对称差集

  集合A和B,由所有不属于A和B的交集元素组成的集合,记作(A-B)U(B-A)

  symmetric_differece(other) 返回和另一个集合的差集

  ^ 等同于symmetric_differece

  symmetric_differece_update(other) 获取和另一个集合的差集并就地修改;

  ^= 等同于symmetric_differece_update

issubset(other)、<=  判断当前集合是否是另一个集合的子集

set1 < set2 判断set1是不是set2的真子集

issuperset(other)、>=  判断当前集合是否是other的超集

set1 > set2 判断set1是否是set的真超集

isdisjoint(other)  判断当前集合和另一个集合有没有交集,没有交集,返回True;

第二天python3 set常用方法的更多相关文章

  1. python学习第二天-基本数据类型常用方法

    1.直入主题 python中基本的数据类型有 数字(整形,长整形,浮点型,复数) 字符串 字节串:在介绍字符编码时介绍字节bytes类型 列表 元组 字典 集合 下面我们直接将以下面几个点进行学习 # ...

  2. python3字符串常用方法

    整型和布尔值的转换: bin -- 十进制转二进制 int("1101",2) -- 二进制转十进制 十进制转二进制的算法 除2 取余,获取的所有余数从下往上进行计算 二进制转十进 ...

  3. (六)python3 字符串常用方法

    字符串截取  >>>s = 'hello' >>>s[0:3] 'he' >>>s[:] #截取全部字符 'hello' 消除空格及特殊符号   ...

  4. ubuntu下python3及idle3的安装

    一.使用以下命令检查自己的系统下是否有python3 python3 --version 如果出现类似“command not found",则说明你需要安装python3.如果能够出现py ...

  5. Python3基础-目录

    Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3  1.1 Python3基础-前言  1.2 Python3基础-规范 第二章 Python3内置函数&a ...

  6. (五)Hibernate 操作对象

    所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 第一节:Hibernate 中四种对象状态 临时状态(transient ...

  7. libgdx学习记录19——图片动态打包PixmapPacker

    libgdx中,opengl 1.x要求图片长宽必须为2的整次幂,一般有如下解决方法 1. 将opengl 1.x改为opengl 2.0.(libgdx 1.0版本后不支持1.x,当然不存在这个问题 ...

  8. Hibernate学习5—Hibernate操作对象2

    第二节:Session 常用方法讲解 2)load和get()方法: 数据库中不存在与OID 对应的记录,Load()方法会抛出异常: load方法默认采用延迟加载,load出来的对象是一个代理类.开 ...

  9. 【转】有的共享软件赚了一百万美元,而为什么你没有?&&我的软件推广成功之路

    有的共享软件赚了一百万美元,而为什么你没有? 转自:http://blog.csdn.net/wangjiwei2010/article/details/1267044 译:DreamGoal 原作: ...

随机推荐

  1. netty系列之:netty中常用的xml编码解码器

    目录 简介 XmlFrameDecoder XmlDecoder 总结 简介 在json之前,xml是最常用的数据传输格式,虽然xml的冗余数据有点多,但是xml的结构简单清晰,至今仍然运用在程序中的 ...

  2. 219. Contains Duplicate II - LeetCode

    Question 219. Contains Duplicate II Solution 题目大意:数组中两个相同元素的坐标之差小于给定的k,返回true,否则返回false 思路:用一个map记录每 ...

  3. Spring 源码(17)Spring Bean的创建过程(8)Bean的初始化

    知识回顾 Bean的创建过程会经历getBean,doGetBean,createBean,doCreateBean,然后Bean的创建又会经历实例化,属性填充,初始化. 在实例化createInst ...

  4. e2fsck-磁盘分区修复

    检查 ext2/ext3/ext4 类型文件系统. 语法 e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize] [-I inode_buffer ...

  5. node-sass,sass-loader和node之间的关系

    vue-cli运行在node平台上scss语言是运行在 node-sass平台上node-sass的运行环境是node平台vue-cli工程中不识别scss语法,.scss模块,sass-loader ...

  6. C++从静态类型到单例模式

    目录 1. 概述 2. 详论 2.1. 静态类型 2.1.1. 静态方法成员 2.1.2. 静态数据成员 2.2. 单例模式 2.2.1. 实现 2.2.2. 问题 3. 参考 1. 概述 很多的知识 ...

  7. ML第6周学习小结

    本周收获 总结一下本周学习内容: 1.学习了<深入浅出Pandas>的第六章:Pandas分组聚合 6.1概述 6.2分组 6.3分组对象的操作 我的博客链接: Pandas 分组聚合 : ...

  8. Python Django 功能模块

    Python Django模块 Django模块,是针对有django基础,对django功能进行模块化,方便下次使用. 一.注册模块 该注册采用邮箱验证,注册成功后会发送激活链接到邮箱. 邮箱验证参 ...

  9. Mac 睡眠唤醒 不睡眠 问题

    问题 之前一直有夜晚睡觉前电脑关机的习惯,主要是想着电脑也跟人一样️要休息.然后最近想着自己 Mac 干脆每天睡眠算了,省得每天开关机麻烦,所以就最近这段时间每次夜晚睡觉前主动去点了电脑的 「Slee ...

  10. point pair feature在2D图像匹配中的应用

    point pair feature在2D图像匹配中的应用 point pair feature(ppf) @article{BertramDrost2010ModelGM, title={Model ...