set集合是一个无序且不重复的元素集合

这个数据类型没有重复的,而且也没有顺序

一些基本的方法:

添加元素

s1 = {11, 22, 33}
s1.add(123)#添加一个新的元素
print(s1) {123, 33, 11, 22}

清除内容:

s1 = {11, 22, 33}
s1.clear()#clear会清除所有的内容
print(s1) set()

差集

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s3 = s1.difference(s2)#只输出前者存在的,后者不存在的
print(s3) {11}
s1 = {11, 22, 33}
s2 = {22, 33, 44}
s1.difference_update(s2)#更新差集到前者,只输出前者存在的,后者不存在的,但是这个不需要第三个变量
print(s1) {11}

交集:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s3 = s1.intersection(s2)#只输出它俩公有的
print(s3) {33,22}
s1 = {11, 22, 33}
s2 = {22, 33, 44}
s1.intersection_update(s2)#更新交集到前者,只输出它俩公有的,这种方法不需要第三个变量
print(s1) {33,22}

移出指定元素:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s1.discard(11)#可以看到如果存在,就删除后返回剩余的元素
print(s1)
s2.discard(456)#如果不存在,也返回剩余的元素,不会报错
print(s2) {33, 22}
{33, 44, 22}

判断是否有交集:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
print(s1.isdisjoint(s2))#判断是否有交集,如果没有返回True,否者返回False False

随机移出元素:

s1 = {11, 22, 33}
s1.pop()#这个是随机移出得,因为set集合没有顺序
print(s1) {11,33}

移出指定元素:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s1.remove(11)#存在则不报错
print(s1)
s2.remove(456)#不存在报错
print(s2) {33,22}
s2.remove(456)
KeyError: 456

对称差集:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s3 = s1.symmetric_difference(s2)#将它俩所有不相同的元素放在一起
print(s3) {11,44}
s1 = {11, 22, 33}
s2 = {22, 33, 44}
s1.symmetric_difference_update(s2)#将更新的内容放到前者,不需要第三个变量,其他跟上面一样
print(s1) {11,44}

并集:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s3 = s1.union(s2)#把它俩的内容全部输出到一起,但是set集合是唯一的,所以输出的内容没有一样的
print(s3) {33, 22, 11, 44}

更新:

s1 = {11, 22, 33}
s2 = {22, 33, 44}
s1.update(s2)#跟上面一样,但时没有第三个变量
print(s1) {33, 22, 11, 44}

python set集合一些基本方法的更多相关文章

  1. python set() 集合的添加删除、交集、并集、差集、交叉补集、集合的方法介绍以及使用案例

    可变不可变: 1.可变:列表.字典.例如列表类型是可变的,我修改了列表中的元素的值,但是列表本身在内存中的地址是没有变化的,所以列表的元素是可以被改变的 >>> name=[&quo ...

  2. python之集合及其方法---整理集

    集合的定义: 由不同元素组成.一组无序排列的可hash值.集合中元素必须是不可变类型 集合的定义方式: 由大括号组成: 每个元素用逗号分隔: 元素书写不是key-value形式: 集合是由不同元素组成 ...

  3. Python遍历List集合四种方法

    这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法. 使用Py ...

  4. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

  5. Python 3 集合基础和概念!

    Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...

  6. Python的集合

    1. Python的集合 1.1 集合的定义 在Python中, 集合set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.Python中的集合set类 ...

  7. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  8. python之集合(set)学习

    集合(set) 集合是一个无序的不重复元素序列,使用大括号({}).set()函数创建集合, 注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典. 集合是无序的.不重复的.没 ...

  9. Python学习-31.Python中集合的一些操作

    add方法: s = {1,2,3} s.add(4) print(s)# {1, 2, 3, 4} 同list的append方法,若调用s.add(3),则不会有任何影响.这点与C#中的HashSe ...

随机推荐

  1. 误删centos的ps命令,恢复

    脑子短路将/bin/ps文件删除.发现ps命令无法用了.下面是恢复方法 1,执行rpm -qf /bin/ps 查看ps命令所需要的rpm包 [root@iZm5e727lmif5lZ ~]# rpm ...

  2. 让IIS Express 也支持外部链接

  3. SingleThreadExecutor(单线程执行器)

    前要:一般的执行器会为每个任务单独创建线程,起码是分配单独的线程,即每个任务有其自己的线程.这样可以让任务并发执行.   问题:既然这样,为什么只用一个线程处理多个任务呢?     如果是这样,那一个 ...

  4. vue 项目其他规范

    列表 vuex数据管理 * 数据模块化:vuex数据管理-数据模块化 数据适配:vuex数据管理-数据适配 数据共享:vuex数据管理-数据共享 路由优化 keep-alive组件设置 保留滚动位置 ...

  5. TCP长连接的一些事儿

    1.TCP的特点以及与应用        TCP提供一种面向连接的.可靠的字节流服务.面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据包之前必须先建立一个TCP连接.TC ...

  6. 网络之XML解析-原生

    Json和XML都属于字符串,用于跨平台,前面总结了下Json,下面看下XML. XML定义这些百度比我说的清,不再啰嗦,直接代码,我喜欢把东西都放进注释. 一.首先看下要解析的XML内容 <? ...

  7. django2.1---后台管理 admin 字段内容过长,省略号替代

    用django admin做后台的时候, 有些字段内容太长,像文章,长评论,新闻等可以限制显示长度,超出部分用...代替 1.在model.py中 def short_content(self): i ...

  8. .36-浅析webpack源码之Parser类

    眼看webpack4都出了,我还在撸3的源码,真的是捉急啊…… 不过现在只是beta版本,等出稳定版本后跑跑4的源码去. 之前漏了一个东西没有讲,如下: asyncLib.parallel([/**/ ...

  9. [转]DevOps实战:百度持续交付体系与最佳实践大解密!

    本文转自:http://dbaplus.cn/news-21-471-1.html “互联网+”时代,软件产品要想满足快速增长的用户需求,高效.快速的迭代转型必不可少,面对时刻发生改变的互联网及业务模 ...

  10. nodejs 的序列化与反序列化

    1.序列化 stringify函数的作用就是序列化对象,也就是说将对象类型转换成一个字符串类型(默认的分割符("&")和分配符("=")),先介绍它的基 ...