Python中的set(集合)数据类型
Python中除了常见的Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)标准数据类型外,还存在一种set(集合)类型,可用于存储值。其有两个重要特点:1. 无序,2. 不重复。
无序此处的无序指的是元素的定义顺序与输出顺序不一致,如下图所示: Ps1:若想将无序的集合转化成有序的,可使用Python内置函数sorted(),如下图: Ps2:若想按照降序输出集合a1中的值,如下图: 不重复此处的不重复指的是集合中的同一个元素只有一次输出,如下图所示:
本篇文章将围绕以下几点进行讨论: 1. 集合的创建 2. 从集合中添加值或者删除值 3. 集合运算方法 4. set(可变集合)与frozenset(不可变集合)
一、 集合的创建 集合的创建有两种方法,第一种:使用花括号{ }创建;第二种:使用Python的内建函数set() 来创建。两种方法的创建如下图所示: 注意:创建一个空集合必须用 set() 而不能使用{ },因为 { } 表示创建一个空字典。如下图: 二、 从集合中添加值或者删除值 Python中提供了可用于操作集合的内置函数。
Add()函数该方法表示往集合中添加一个新的元素内容。如下图: Update()函数将参数集合添加至调用集合中。如下图: Remove()函数从集合中移除指定元素。如下图: Discard()函数从集合中移除指定的元素。如下图: 注意:discard()函数与remove()函数的作用基本相同,均是从集合中移除指定的元素,区别是当集合中不包含指定元素时,执行discard()函数,不会引发程序错误。 Pop()函数从集合中删除并返回任意的元素。如下图: 注意:当集合中不包含元素(空集合),执行pop()函数,则会引发程序错误。 Clear()函数移除集合中所有的元素内容。如下图:
三、集合运算方法
.并集(Union) 两个集合中的所有元素合并在一起组成的集合,叫做集合A与集合B的并集。如图: 交集(Intersection)两个集合中,属于A并且属于B的元素的集合称为A与B的交集。如下图: 差集(Difference)两个集合A和B中, 属于A且不属于B的元素的集合称为A与B的差集。如下图所示: 对称差(Symmetric Difference)两个集合A,B中,不重复的元素的集合称为A与B的对称差集。如下图:
四、 set(可变集合)与frozenset(不可变集合)
set是无序排序且不重复,是可变的,有add(),remove()等方法,而frozenset是冻结的集合,它是不可变的,一旦创建便不能更改,没有add(),remove()方法。