课程: 编程基础知识:数据结构
免费学习该课程!
今天就开通帐号,24,800 门业界名师课程任您挑!
在 Python 中对集合进行操作
到目前为止, 我们对集合演示的示例都还比较简单。 实际上,集合的应用场景非常广泛, 它可以帮助我们处理很多实际问题。 在这个视频中我们就来看一下, 如何在 Python 中, 对集合进行数学意义上的操作。 你也可以打开“练习文件>04_03”, 我们一起完成这个视频的学习。 在这里,我们定义了两个编程语言的集合。 一个是集合 A,另外一个是集合 B。 在这两个集合里面有重叠的元素, 比如“C++”和“Java”, 但是也有各自独有的内容。 如果我们想把集合 A 和集合 B 这两个集合中的所有元素合并起来, 可以使用并集操作。 我们先来运行一下第一个单元格。 没有问题。 接下来,我们可以在集合 A 上, 调用“union”方法。 传入集合 B 作为参数。 这样就会产生一个全新的集合。 它会包含两边的全部元素。 我们运行一下这个单元格。 因为集合不会保留重复的内容, 如果两边有相同的元素就只会保留一个。 这样就保证了集合的唯一性。 你会看到,结果是一个全新的集合, 里面包含了两个集合的所有元素, 但是没有重复的内容。 比如 C++ 和 Java, 都只出现了一次。 接下来是交集操作, 它可以帮助我们找出 在两个集合里面共有的元素。 比如说,我们可以在集合 A 上面去调用 intersection 方法, 传入集合 B 作为参数。 这样我们就可以得到两个集合之间的交集。 我们运行一下这个单元格。 可以看到,结果中只包含了 两个集合中都存在的元素。 有时候,我们需要排除集合之间的公共部分, 只保留这个集合特有的元素。 这个时候我们就可以通过差集操作来完成。 比如说,我们可以在集合 A 上, 调用 difference 方法, 传入集合 B 作为参数。 这样就能得到 A 和 B 之间的差集, 也就是集合 A 里面有, 集合 B 里面没有的元素, 相当于 A-B。 如果我们是在集合 B 上, 调用 difference 方法, 传入集合 A 作为参数, 那就相当于 B-A, 会把集合 A 中的元素, 从集合 B 中去除,得到一个新的集合。 现在我们运行一下这个单元格。 可以看到,结果是两个新的集合, 分别包含了 集合 A 和集合 B 之间的差集。 如果我们是要查找 两个集合之间不重叠的元素。 也就是,只在集合 A 中, 或者是只在集合 B 中出现, 但不是同时存在的元素,…