Python 集合

集合是无序的,并且具有非常快的查找时间 (如果你想获得技术,则分摊 O(1))。当你收集一些东西时,这很好用,顺序无关紧要,你会按名称查找项目。如果通过索引号查找项目更有意义,请考虑使用列表。如果订单很重要,也请考虑一个清单。

集是可变的,因此不能进行散列,因此你不能将它们用作字典键或将它们放在其他集中,或者其他任何需要可散列类型的集合中。在这种情况下,你可以使用不可变的 frozenset

集合的元素必须是可清除的。这意味着他们有一个正确的 __hash__ 方法,这与 __eq__ 一致。一般来说,像 listset 这样的可变类型是不可清洗的,不能放入一套。如果遇到此问题,请考虑使用 dict 和 immutable 键。