集合

本节导读

  • 集合的特性与作用
  • 集合的创建与转换
  • 集合的常见用法

一 集合的特性与作用

集合是一个数学概念:由一个或多个确定的元素所构成的整体叫做集合。

集合中的元素有三个特征:

  • 确定性(元素必须可hash)
  • 互异性(去重)
  • 无序性(集合中的元素没有先后之分),如集合{3,4,5}和{3,5,4}算作同一个集合。

 

集合的主要作用

  •  去重,把一个列表变成一个集合就主动去重了。
  •  关系测试,测试两组数据之前的交集差集并集等关系

 

二 集合的创建与转换

#集合的创建
se = set()
se = {11,22,33}    #看起来像是没有值的字典
se = {}                 # 注意: 创建的集合为空时,此时,se 是字典类型,不应该用次方式创建空字典

# 集合的转换
#可转换字符串,列表,元组
set(list/str/trupe)

三 集合的常见用法

  • 增加
    s.add()
    s.update()     #1添加多个值,2合并集合与,(列表,集合)

     

  • 删除
    s.pop()          #删除并返回一个任意的集合元素。(测试中删除的第一个)
    s.remove()     #删除指定元素,若删除元素不存在,则报错
    s.discard()     #删除指定元素,若删除元素不存在,不报错
    s.clear()        #清空

     

  • 关系测试
    #交集
    set1.intersection(set2)
    set1 & set2
    #差集
    set1.difference(set2)
    set1 - set2
    set1.difference_update(set2)           #将set1与set2的差集赋值给set1
    #并集
    set1.union(set2)
    set1 | set2                             #管道符
    #对称差集
    set1.symmetric_difference(set2)          #两个集合不相交的元素的集合,eg:只买了iphone7 or iphone8的人
    set1 ^ set2
    #包含关系
    set1.isdisjoint(set2)                            #判断set1与set2是否不相交
    set1.issubset(set2)     or   set 1 <=set 2       #set1是否是set2的子集
    set2.issuperset(set1)   or   set 2 >=set 1      #set2是否是set1的超级 

     

  • 暗室逢灯
posted @ 2018-04-23 17:01  感动#心  阅读(155)  评论(0编辑  收藏  举报