Python 中的集合完整指南三

79 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第16天,点击查看活动详情

python 中的集合提供了一种方法来创建一组唯一的无重复项的无序项。他们的主要用例是检查一组项目中是否存在一个项目,这在许多不同的情况下都很有用。

书接上文,前面几篇文章我们介绍了python集合的组成,取值获取,删除等方法,今天我们最后来说集合的其他方法。

测试两个集合在 Python 中是否具有完全不同的值

有时,您还想检查两组相互比较时是否完全是原创的。例如{ "one", "two" }, 和{ "three", "four" }是相互比较时具有唯一值的两个集合。在 Python 中,该isdisjoint函数允许我们完成:

mySet = { "one", "two", } mySecondSet = { "three", "four" } print(mySet.isdisjoint(mySecondSet)) # True

其他设置方法

虽然到目前为止我们讨论的所有内容都适用于frozensets 和sets,但还有一些其他方法可用于sets,这些方法允许我们改变它们的值。这些是:

  • set.add('item')- 将一个项目添加到集合中。
  • set.remove('item')- 从集合中移除一个项目。
  • set.update(newSet)- 将所有项目从添加newSet到原始set。这也可以写成set |= newSet
  • set.clear()- 从一组中删除所有项目
  • set.pop(4)- 从集合中删除第 4 个项目,如果没有指定数字,则删除最后一个项目
  • set.intersection_update(newSet)- 只保留在set和中找到的项目newSet。也可以写成set &= newSet
  • set.difference_update(newSet)- 获取set并移除在newSet. 也可以写成set -= newSet
  • set.symmetric_difference_update(newSet)- 只在其中一个set和中找到newSet,而不是在两个中找到。也可以写成set ^= newSet

虽然前 5 种提供了从集合中添加和删除项目的简单方法,但后 3 种与我们之前讨论的相交和组合集合时所讨论的相同。这里的区别是我们可以使用这些函数来改变它set本身。虽然这在普通集合上是可能的,但我们不能将这些方法应用于frozenset.