集合的操作

在Python中,集合(set)是一种无序且不重复的数据结构,比较两个集合时可通过多种操作实现。以下是常见的比较操作举例:

  1. 集合基本操作
  • 创建集合:用 {} 或 set() 创建,元素需可哈希(如数字、字符串等)。
    set1 = {1, 2, 3, 4}
    set2 = {3, 4, 5, 6}

  • 判断元素是否存在:用 in 或 not in 。
    print(2 in set1) # True
    print(5 not in set1) # True

  1. 集合关系比较
  • 相等性比较: == 判断元素是否完全相同(顺序无关)。
    set3 = {1, 2, 3}
    set4 = {3, 2, 1}
    print(set3 == set4) # True

  • 子集与超集:

  • A.issubset(B) 或 A <= B :判断A是否是B的子集(A所有元素都在B中)。

  • A.issuperset(B) 或 A >= B :判断A是否是B的超集(B所有元素都在A中)。

set5 = {1, 2}
set6 = {1, 2, 3}
print(set5 <= set6) # True
print(set6 >= set5) # True

  1. 集合运算(生成新集合)
  • 交集: A & B 或 A.intersection(B) ,取同时存在于A和B中的元素。
    print(set1 & set2) # {3, 4}

  • 并集: A | B 或 A.union(B) ,取A和B中的所有不重复元素。
    print(set1 | set2) # {1, 2, 3, 4, 5, 6}

  • 差集: A - B 或 A.difference(B) ,取在A中但不在B中的元素。
    print(set1 - set2) # {1, 2}
    print(set2 - set1) # {5, 6}

  • 对称差集: A ^ B 或 A.symmetric_difference(B) ,取只在A或只在B中的元素。
    print(set1 ^ set2) # {1, 2, 5, 6}

  1. 原地修改操作
  • 交集更新: A.intersection_update(B) ,仅保留A中同时在B中的元素。
    set7 = {1, 2, 3}
    set8 = {2, 3, 4}
    set7.intersection_update(set8)
    print(set7) # {2, 3}

  • 并集更新: A.update(B) ,将B的元素添加到A中。
    set9 = {1, 2}
    set9.update({3, 4})
    print(set9) # {1, 2, 3, 4}

  1. 集合大小比较
  • 用 len() 比较集合元素数量。
    print(len(set1) > len(set2)) # False(set1和set2长度都是4)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容