更多内容,可以微信搜索[公][众][号]【郑大钱呀
】,关注我们,一起学技术!
Python 集合详解
集合的概念
所谓集合就是把一堆数据放在一起,但是这些数据是有要求的:
- 数据不能重复,每一个数据都是唯一的 。
- 无序,什么叫无序呢,我们这里举一个例子,如果有一个集合,它有三个元素1、2、3 ,那么你在集合中不管是写成{1,2,3}、{1,3,2}还是{3,2,1},都表示的是同一个集合 。
- 集合只能存储不改变的元素,如字符串、数字、元组等。如果你存储的元素是可变的,比如列表,那么就会报错,示例如下:
我们再试一下元组类型
由于元组是不可改变的,所以存储在集合中不会报错。
集合的定义
集合的定义有两种方式,一种为直接定义,示例代码如下:
另一种是使用set()函数定义,示例代码如下:
值得注意的是,使用set()函数定义的时候,set函数一次只能接受一个参数,如果一次传入多个就会报错,报错如下:
所以当你需要传入多个值的时候,就需要传入可迭代的数据类型,比如元组、列表、字符串等。下面我们说一下如何定义一个空的集合,使用set()函数来定义一个空的集合,示例代码如下:
千万不要使用“{}”来定义空的集合,使用“{}”定义的话就不是集合类型了,而是字典类型了,示例代码如下:
上面我们创建的集合,它们的元素是可变的,我们称之为可变集合,我们也可以创建不可变的集合,示例代码如下:
集合的运算
集合的运算和数学中集合运算一样,有如下几种:子集、差集、并集、交集以及对称差,下面我们详细讲解。
子集操作
所谓子集操作,就是用来求一个集合是不是另一个集合的子集,如果是则返回True,如果不是则返回False,可以使用两种方式判断,一种为“<”号,A<B 表示的意思是A是不是B的子集,示例代码如下:
还有一种方式是使用issubset()方法,示例代码如下:
差集操作
差集操作是一个集合相对于另一个集合的,比如说求A集合与B集合的差集,就是A有的而B没有的部分,可以使用两种方式来求取差集,一种为:"-",示例代码如下:
从结果中我们发现a集合中的元素,b集合中只有7没有,所有结果就为{7},返回的数据类型依然也是一个集合,另一种方式是使用 difference()函数,示例代码如下:
并集操作:
并集操作可以简单的理解成把两个集合先合并,然后再去重,所以并集的结果是他们任意一个集合的子集,可以使用两种方式来求并集:一种为使用“|”,示例代码如下:
另一种是使用 union() 函数,示例代码如下:
交集操作
所谓交集操作,就是求两个集合都有的部分,可以使用两种方式来求交集,一种为使用“&”,示例代码如下:
另一种方式就是使用intersection()函数,示例代码如下:
对称差操作:所谓对称差操作就是将把两个集合都有的都剔除,然后将剩下的元素合并成一个集合,可以使用两种方式来求对称差,一种为使用“^”符号,示例代码如下:
另一种方式就是使用symmetric_difference()函数,示例代码如下:
集合的常用方法
add()方法
向集合中添加元素,示例代码如下:
该方法只针对可变集合,下面使用此方法来操作一下不可变集合,看下报错,报错示例如下:
报错说根本就没有这个方法。
clear()方法
清空集合中所有元素,示例代码如下:
copy()方法
将集合复制给另一个变量,效果和直接赋值差不多,示例代码如下:
remove函数
移除集合中的指定元素,如果元素不存在则报错,示例代码如下:
下面我们再看一下如果元素不存在的报错,示例代码如下:
discard ()函数
discard函数的作用和remove一样,只不过是,discard函数如果没有找到元素不会报错,示例代码如下:
我们再看一下删除不存在的元素会怎么样,示例代码如下:
从上面的结果我们发现,如果元素不存在,不会有任何操作
pop()函数
随机删除集合中的任意一个元素,示例代码如下:
值得注意的是,集合为空的时候,会报错,示例代码如下:
update()函数
向集合中一次添加多个元素,值得注意的是传入的参数必须是可迭代的,如列表、元组、字符串、集合等,示例代码如下:
isdisjoint() 函数
此函数用来判断两个集合是否有空交集,所谓空交集就是他们的交集为空,如果为空交集,则返回True,否则返回False,示例代码如下:
issubset()
判断一个集合是否是另一个集合的子集,如果是返回True,否则返回False,示例代码如下:
set()函数
我们从上面的学习知道可以使用set()函数创建集合,我们也可以使用set()函数来进行数据类型转换,如:将一个列表、元组、字符串等其他数据类型转成集合类型,示例代码如下:
从上面的结果我们发现,转换成集合后,会把重复的部分剔除。
len()函数
获取集合中元素的个数,示例代码如下:
max()函数
返回集合中最大的元素,示例代码如下:
min()函数
返回集合中最小的元素,示例代码如下:
sorted()函数
对集合进行排序,结果以列表的形式返回,示例代码如下:
sum()函数
对集合的所有元素进行求和,结果以整型返回,示例代码如下:
结尾
本期的内容就到这里了,如有不足之处还请大家多多指正,祝大家吃的香,睡得好,赚的多,学的好,周末愉快,欢迎大家留言、关注
、转发加收藏,我们下期见,拜拜。