
上QQ阅读APP看书,第一时间看更新
1.3.2 集合
从数学上讲,集合就是明确定义的不同对象的集合。Python提供了一种使用set数据类型来处理它们的简单方法。
集合简介
利用生成的上一个列表,我们重新讨论从中删除重复值的问题。我们可以通过以下代码行来实现:

如果我们输出这个,将看到它只包含不重复的数字。我们使用set数据类型将第一个列表转换为集合,从而去掉了所有重复的元素,然后我们使用list函数将它再次从集合转换为列表:

输出如图1-12所示。

图1-12 list_12的部分输出
并集和交集
两个集合的并集如图1-13所示。
这只意味着从两个集合中提取所有内容,但是公共元素只提取一次。
我们可以使用以下代码来创建它:

以下命令可以用来寻找两个集合的并集:

输出如下:

需要注意的是,公共元素Banana在并集中只出现一次。通过获取两个集合的交集,可以确定两个集合之间的公共元素,如图1-14所示。

图1-13 两个集合并集的维恩图

图1-14 两个集合交集的维恩图
在Python中,以下命令可得到两个集合的交集:

我们会得到一个只有单个元素的集合,输出如下:

说明
你还可以计算集合之间的差(也称为补集)。
创建空集
你可以通过创建不含任何元素的集合来创建空集,代码如下:

输出如下:

但是,创建字典请使用以下命令:

输出如下:

我们将在下节中详细学习字典。