zoukankan      html  css  js  c++  java
  • 集合

    本节导读

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

    一 集合的特性与作用

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

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

    • 确定性(元素必须可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的超级 
    • 暗室逢灯
  • 相关阅读:
    MySQL性能调优——索引详解与索引的优化
    Linux命令之文件搜索
    MySQL中的行级锁,表级锁,页级锁
    MySQL存储引擎
    Linux软链接和硬链接
    linux学习笔记
    在浏览器中输入一个网址后,发生了什么?
    二叉排序树
    有序表查找
    为view设置虚线边框
  • 原文地址:https://www.cnblogs.com/leiyiming/p/8920254.html
Copyright © 2011-2022 走看看