集合(set):集合是一个无序的序列,集合中的元素可以是任意数据类型;表现形式是set(集合的元素),能够实现自动去重;集合传入的必须是一个hashable类型值,(不能存储字典格式的值);并且创建集合的时候还不能够这样表示set1={},这个表示不是空集合,这表示的是空字典;

1.创建一个集合

# 直接声明:
set1 = {1,2,3,4} list1 = [1,2,3,4,1,2,3,4]
set1 = set(list1) # 将列表传入
print(set1) # 返回值为:{1, 2, 3, 4}

2.集合的运算关系

交集:取两个集合的相同元素构成一个新集合

# 集合求交集
set1 = {1,2,3,4,5,6,'c','d'}
set2 = {'a','b','c','d',1,6}
print(set1 & set2) # 返回的结果为:{1, 'c', 'd', 6}

并集:取两个集合的所有元素构成一个新集合去除相同元素

# 集合求并集
set1 = {1,2,3,4,5,6,'c','d'}
set2 = {'a','b','c','d',1,6}
print(set1 | set2) # 返回的结果为:{'b', 1, 2, 3, 4, 5, 6, 'a', 'd', 'c'}

差集:由A集合-B集合,去掉A集合中元素在B集合中,只取A集合中元素不在B集合中的,并生成一个新集合

# 集合求差集
set1 = {1,2,3,4,5,6,'c','d'}
set2 = {'a','b','c','d',1,6}
print(set1 - set2) # 返回的结果为:{2, 3, 4, 5}

非集合:取两个集合的交集,然后根据交集取两个集合的补集,最后将补集取并集

# 集合求非集
set1 = {1,2,3,4,5,6,'c','d'}
set2 = {'a','b','c','d',1,6}
print(set1 ^ set2) # 返回的结果为:{2, 3, 4, 5, 'a', 'b'}

3.集合的判断方法

# 判断此集合是否被另外集合包含
print(set1.issubset(set2)) # 如果set2集合中元素包含了set1则会返回True否则返回False
# 判断此集合是否包含另外一个集合
print(set1.issuperset(set2))# 如果set1集合中元素包含了set2则会返回True否则返回False
# 如果两个集合的交集为空则返回True
print(set1.isdisjoint(set2))

python容器类型集合的操作的更多相关文章

  1. python容器类型列表的操作

    列表:使用中括号进行表示元素的集合,元素与元素之间使用逗号隔开:列表中的元素可以存放不同的数据类型,但是通常存放相同的数据类型: 1.列表的声明: # 声明一个列表:变量名 = [元素1,元素2] l ...

  2. python容器类型字典的操作

    字典(dict):由大括号进行描述一组键值对,其键值对之间使用冒号隔开,键值对与键值对之间使用逗号隔开: 注意:字典的key可以为数字,但是不可以重复,因为key是唯一标识符: 1.声明一个字典:语法 ...

  3. python容器类型元组的操作

    元组:使用小括号进行表示一组元素,其元素与元素之间使用逗号隔开:注意:元组的的值是不可修改的: 1.元组值得增加:元组是不可以直接增加值的,但是可以通过+进行拼接 # 声明一个元组: tuple1 = ...

  4. python容器类型:列表,字典,集合等

    容器的概念我是从C++的STL中学到的 什么是容器? 容器是用来存储和组织其他对象的对象. 也就是说容器里面可以放很多东西,这些东西可以是字符串,可以是整数,可以是自定义类型,然后把这些东西有组织的存 ...

  5. Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  6. python序列类型及一些操作

    序列分类 1.按存放的数据类型分类: 容器类型(能存放不同类型的数据):list.tuple.coolections.deque 扁平序列(只能存放一种类型的数据):str.bytes.bytearr ...

  7. python 容器类型数据 (str list tuple set dict)

    # ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...

  8. python容器类型的协议

    1.协议(Protocols)与其他编程语言中的接口恒相似,它规定你哪些地方必须要定义,然而在python中的协议就显得不那么正式,事实上,在python中,协议更像是一种指南. 2.序列类型和映射类 ...

  9. Python列表类型及常用操作

    Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven', ...

随机推荐

  1. LeetCode 5024 除数博弈 --(简单博弈论)

    今天在LeetCode的看到一到题目 这道题目有点坑,没有思路的话容易钻牛角. 刚刚开始时,我想的是直接用while循环来模拟计算,后来觉得这么好麻烦,也有复制的逻辑在里面.后面我推导了一下 以下是我 ...

  2. ES6---变量解构赋值

    1.数组的解构赋值 1.1 基本用法 解构赋值:在ES6中 ,按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构赋值.本质:这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量 ...

  3. virtual与override的使用

    在函数的声明中,当有“virtual”修饰的时候,和没有virtual有什么区别呢?最重要的一点就是调用实例的函数是在编译的时候确定还是在运行的时候确定,virtual函数是在运行的时候来确定具体调用 ...

  4. .NET Core 3.1 编写混合 C++ 程序

    前言 随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C++/CLI 移植到 .NET Core 上,从此可以使用 C++ 编写 .NET Core 的程序了. 由于目前仅有 MS ...

  5. JNI技术实现--Java调C/C++

    废话不多说,首先我们来看Java调用C/C++步骤: 1.编写Java代码,在代码中使用native关键字标明该方法是调用本地库,不需要实现. 2.使用javah -jni 命令,生成对应的头文件,此 ...

  6. python pytesseract使用

    正确使用方法 1.tesseract-orc安装 tesseract-ocr-setup-3.05.00dev.exe下载 2.pytesseract pip install pytesseract ...

  7. 关于生成器generator

    generator:个人认为是产生值的,和列表生成式类似,但是比列表生成式更加节省空间 我们平常自己构造的函数中,一般返回值时都会使用return,在generator中,我们使用的是yield yi ...

  8. 洛谷P2858 【[USACO06FEB]奶牛零食Treats for the Cows】

    我们可以记录头和尾再加一个卖了的零食数目,如果头超过尾就return 0. 如果遇到需要重复使用的数,(也就是不为零的d数组)就直接return d[tuo][wei]. 如果没有,就取卖头一个与最后 ...

  9. MVC5异步提交表单疑难杂症

    //此处必须添加,不然不能执行异步回调OnAddPortSuccess方法 <script src="~/scripts/jquery.unobtrusive-ajax.min.js& ...

  10. [Nginx]Ubuntu18.04 安装配置Nginx1.13.6+FastDFS

    一. 安装fastdfs依赖包 1. 解压缩libfastcommon-master.zip 2. 进入到libfastcommon-master的目录中 3. 执行 ./make.sh 4. 执行 ...