Python数据结构 集合
在数学上,一个集合是一个不按任何特定顺序排列的项目的集合。一个 Python 集合与这个数学定义相似,但有以下附加条件。
- 集合中的元素不能是重复的。
-
集合中的元素是不可变的(不能被修改),但集合作为一个整体是可变的。
-
在Python集合中的任何元素都没有附加索引。所以它们不支持任何索引或切分操作。
集合操作
python中的集合通常用于数学运算,如并集、交集、差集和补集等。我们可以创建一个集合,访问它的元素并进行这些数学运算,如下所示。
创建一个集合
通过使用 set() 函数或将所有元素放在一对大括号内,可以创建一个集合。
例子
输出
当上述代码被执行时,它产生了以下结果。请注意结果中元素的顺序是如何改变的。
访问一个集合中的值
我们不能访问一个集合中的单个值。如上图所示,我们只能一起访问所有的元素。但是我们也可以通过循环访问集合来获得单个元素的列表。
例子
输出
当上述代码被执行时,它产生了以下结果 –
向一个集合添加项目
我们可以通过add()方法向一个集合添加元素。正如我们讨论的那样,新添加的元素没有特定的索引。
例子
输出
当上述代码被执行时,它产生了以下结果 –
从一个集合中删除项目
我们可以通过使用discard()方法从一个集合中删除元素。正如我们讨论的那样,新添加的元素没有特定的索引。
例子
输出
当上述代码被执行时,它产生了以下结果。
集合的联合
对两个集合进行并集操作,会产生一个新的集合,其中包含两个集合中所有不同的元素。在下面的例子中,元素 “Wed “同时出现在两个集合中。
例子
输出
当上述代码被执行时,它产生了以下结果。请注意这个结果只有一个 “wed”。
集合的相交
两个集合的相交操作产生一个新的集合,只包含两个集合的共同元素。在下面的例子中,元素 “Wed “同时出现在两个集合中。
例子
输出
当上述代码被执行时,它产生了以下结果。请注意这个结果只有一个 “wed”。
集合的差分
对两个集合进行差分操作会产生一个新的集合,其中只包含第一个集合的元素,而没有第二个集合的元素。在下面的例子中,元素 “Wed “同时出现在两个集合中,所以它不会出现在结果集中。
例子
输出
当上述代码被执行时,它产生了以下结果。请注意这个结果只有一个 “wed”。
比较集合
我们可以检查一个给定的集合是否是另一个集合的子集或超集。其结果是 “真 “或 “假”,取决于集合中的元素。
例子
输出
当上述代码被执行时,它产生了以下结果 –