Python set()集合的内置方法及 差集,并集,交集的实现,集合运算

短命女 2023-02-14 03:08 125阅读 0赞

set集合是一个元素不重复的无序的集合。其中一个用途就是被用来去重。

set() 定义

  1. # 定义新的空集合的方法, 只有一种, 不能写: {}, {}是空字典的定义创建方法
  2. set_a = set()
  3. # 非空集合创建
  4. set_b = { value0, value1, value2, ...}
  5. set_c = set(value0, value1, value2, ...)

内置基本操作

  1. # 添加
  2. set_a.add(x)
  3. # 集合的原酸必须是可以哈希(hash)的, 如数字,字符串,元组等, 列表,字典不能作为集合的元素
  4. # 删除
  5. set_a.remove(x) # 存在删除,不存在会报错
  6. set_a.discard(x) # 存在删除,不存在不会报错
  7. # 是否存在
  8. x in set_a # x是否在set_a中
  9. # 数量
  10. len(set_a) # 集合中元素的数量

集合运算

不支持+ * / 等运算符操作

交集 & 并集 & 差集 & 对称差集

  1. set_a, set_b = { 1, 2, 3}, { 3, 4}
  2. # 交集
  3. set_a & set_b
  4. set_a.intersection(set_b)
  5. set.intersection(set_a, set_b)
  6. # 并集
  7. set_a | set_b
  8. set_a.union(set_b)
  9. set.union(set_a, set_b)
  10. # 差集
  11. set_a - set_b
  12. set_a.difference(set_b)
  13. set.difference(set_a, set_b)
  14. # 注意差集的次序 此行以上和以下的差集的结果不同
  15. set_b - set_a
  16. set_b.difference(set_a)
  17. set.difference(set_b, set_a)
  18. # 对称差集
  19. # 不同时存在于两个集合的数据 并集 - 交集
  20. set_a ^ set_b
  21. set_a.symmetric_difference(set_b)
  22. set.symmetric_difference(set_a, set_b)
  23. (set_a | set_b) - (set_a & set_b)

发表评论

表情:
评论列表 (有 0 条评论,125人围观)

还没有评论,来说两句吧...

相关阅读

    相关 STL Set 集 合

    set是关联容器。其键值就是实值,实值就是键值,不可以有重复,所以我们不能通过set的迭代器来改变set的元素的值,set拥有和list相同的特性:当对他进行插入和删除操作的时