zoukankan      html  css  js  c++  java
  • (python)数据结构---集合

    一、描述

    • set翻译为集合
    • set是可变的无序的不可重复的
    • set的元素要求可哈西(不可变的数据类型可哈西,可变的数据类型不可哈希)
    • set是无序的,因此不可以索引,也不可以修改
    • 线型结构的查询时间复杂度是O(n),随着数据的增大而效率下降;set、dict内部使用hash值作为key,时间复杂度可以做到O(1),和数据规模无关

    二、集合的相关方法

    1、set.add(elem)

    • 增加一个元素到集合中,如果集合中已经有这个元素,则什么都不做。
    1 s = {2, 3, 4, 5}
    2 s.add(6)
    3 print(s)

    运行结果如下:
    {2, 3, 4, 5, 6}

    2、set.update(iterable)

    • 用法与add方法一致,只不过参数必须是可迭代对象
    1 s = {2, 3, 4, 5}
    2 s.update("a")
    3 print(s)

    运行结果如下:
    {2, 3, 4, 5, 'a'}

    3、set.remove(elem)

    • 从set中移除指定的元素,如果元素不存在,抛异常KeyError
    • 与它作用相同的方法是discard(elem),不同在于如果元素不存在,什么都不做
    1 s = {2, 3, 4, 5}
    2 s.remove(2)
    3 print(s)

    运行结果如下:
    {3, 4, 5}

    4、set.pop()

    • 移除并返回任意的元素
    • 如果是空集,则抛异常KeyError
    1 s = {3, 4, 5}
    2 s.pop()
    3 print(s)

    运行结果如下:
    {4, 5}

    5、set.clear()

    • 清空集合

    三、集合的相关概念

    1、全集

    • 所有元素的集合

    2、子集和超集

    • 一个集合A的所有元素都在另一个集合B内,A就是B的子集,B就是A的超集

    3、真子集和真超集

    • A是B的子集,且A不等于B,A就是B的真子集,B就是A的真超集

    4、并集

    • 多个集合合并的结果

    5、交集

    • 多个集合的公共部分

    6、差集

    • 集合中除去和其他集合公共的部分
  • 相关阅读:
    使用nltk库查找英文同义词和反义词
    argostranslate 翻译的使用
    python从git上安装相应的依赖库
    json.dumps()函数解析
    python将xml文件转为json
    python匹配字符串中,某个词的位置
    TypeError: Cannot read property 'version' of undefined
    js常用工程类函数 | 下载链接 | 自定义下载内容
    C# Visual Studio 2019 代码自动补全 TAB+TAB
    国内开源镜像站点汇总
  • 原文地址:https://www.cnblogs.com/Sweltering/p/9894754.html
Copyright © 2011-2022 走看看