python中的集合(Set)的使用

集合是python中的一种常见数据类型,它的元素具有唯一性(不重复),因此常用来进行列表快速去重等。

一、集合的创建

  • set()

    • 新建一个空的集合对象
  • set(iterable)

    • 新建一个集合对象,传入参数为可迭代对象,比如字符串、列表等
  • 示例

    In [1]: s1 = set() #新建一个空的集合对象
    
    In [2]: s1
    Out[2]: set()
    
    In [3]: type(s1)
    Out[3]: set
    
    In [4]: s2 = set("abc") #新建集合,传入字符串
    
    In [5]: s2
    Out[5]: {'a', 'b', 'c'}

二、集合常见操作:

  • add()

    • 向集合中添加一个元素,该元素如果存在则不做任何处理
  • update(itereable1,...)

    • 向集合中依次添加可迭代对象中的元素
  • remove()

    • 指定元素删除,如果该元素不存在则报异常
  • pop()

    • 删除集合中的首个元素,如果是空集合则报异常
  • discard()

    • 指定元素删除,如果该元素不存在则不做任何处理
  • clear()

    • 清空集合
  • copy()

    • 返回该集合的一个浅拷贝对象
  • difference(itereable1,...)

    • 求差集,即返回的集合中,元素为原集合所独有的,注意原集合不受影响
  • difference_update(itereable1,...)

    • 该集合依次删除其它可迭代对象中的元素
  • intersection(itereable1,...)

    • 求交集,即返回的集合中,元素是和其它可迭代对象所共有的,注意原集合不受影响
  • intersection_update(itereable1,...)

    • 修改集合为交集部分
  • union(itereable1,...)

    • 求并集,结果同update操作一致
  • symmetric_difference(iterable)

    • 求对称差集,参数只能传入一个可迭代对象,返回的是并集减去交集的部分
  • symmetric_difference_update(iterable)

    • 修改集合为对称差集
  • isdisjoint(iterable)

    • 判断是否没有交集,即该集合与该可迭代对象是否没有公共元素,没有则返回True,否则返回False
  • issubset(iterable)

    • 判断是否是子集,即该集合中的元素是否是该可迭代对象中的一部分,是则返回True,否则返回False
  • issuperset(iterable)

    • 判断是否是父集,即该集合中的元素是否包含该可迭代对象中的所有元素,是则返回True,否则返回False
posted @ 2021-04-20 17:33  eliwang  阅读(698)  评论(0编辑  收藏  举报