集合

集合也是常用的序列的一种,其特性与字典相似,但是没有键的存在,集合中的值不允许重复。如果只需要关心元素是否存在,那么集合是最佳选择。

集合使用大括号{}或者set()创建,其中的值使用逗号进行分隔。例如:

set1 = {1, 2, 3, 4}
set2 = set('a', 'b', 'c')
set3 = set()

Warning

注意,{}不会创建一个空集合,而是创建一个空字典。

字典与集合都可以使用推导式语法,并且都是使用{}包裹推导式,但区别是定义字典需要使用冒号:来分隔键与值。

集合操作

集合也可以使用in来判断其中是否包含指定值。除此之外还支持其他的一些操作符进行集合专有的操作。

  • &或者set.intersection(set2),交集运算,返回两个集合的交集。
  • |或者set.union(set2),并集运算,返回两个集合的和。
  • -或者set.difference(set2),差集运算,返回仅存在于第一个集合但不出现在第二个集合中的元素组成的集合。
  • ^或者set.symmetric_differnece(set2),异或集运算,返回仅在两个集合中出现一次的元素组成的集合。
  • <=或者set.issubset(set2),判断 set 是否是 set2 的子集。
  • <,用于真子集的判断。
  • >=或者set.issuperset(set2),判断 set 是否是 set2 的超集。
  • >,用于真超集的判断。