• 集合


    一、概述

    • 集合类型定义
    • 集合操作符
    • 集合处理方法
    • 集合类型应用场景

    二、集合类型定义

    集合是多个元素的无序组合

    • 集合类型与数学中的集合概念一致
    • 集合元素之间无序,每个元素唯一,不存在相同元素
    • 集合元素不可更改,不能是可变数据类型
    • 集合用大括号 {} 表示,元素间用逗号分隔
    • 建立集合类型用 {} 或 set()
    • 建立空集合类型,必须使用set()
    A = {"python", 123, ("python", 123)}  # 使用{}建立集合
    A
    

    {('python', 123), 123, 'python'}

    B = set("pypy123")  # 使用set()建立集合
    B
    

    {'1', '2', '3', 'p', 'y'}

    C = {"python", 123, "python", 123}
    C
    

    {123, 'python'}

    三、集合操作符

    3.1 集合间操作

    037-集合类型及操作-01.jpg?x-oss-process=style/watermark

    3.2 6个操作符

    操作符及应用 描述
    S | T 返回一个新集合,包括在集合S和T中的所有元素
    S - T 返回一个新集合,包括在集合S但不在T中的元素
    S & T 返回一个新集合,包括同时在集合S和T中的元素
    S ^ T 返回一个新集合,包括集合S和T中的非相同元素
    S <= T或S < T 返回True/False,判断S和T的子集关系
    S >= T或S > T 返回True/False,判断S和T的包含关系

    3.3 4个增强操作符

    操作符及应用 描述
    S |= T 更新集合S,包括在集合S和T中的所有元素
    S -= T 更新集合S,包括在集合S但不在T中的元素
    S &= T 更新集合S,包括同时在集合S和T中的元素
    S ^= T 更新集合S,包括集合S和T中的非相同元素
    A = {"p", "y", 123}
    B = set("pypy123")
    A - B
    

    {123}

    A & B
    

    {'p', 'y'}

    A ^ B
    

    {'1', 123, '2', '3'}

    B - A
    

    {'1', '2', '3'}

    A | B
    

    {'1', 123, '2', '3', 'p', 'y'}

    四、操作函数或方法

    操作函数或方法 描述
    S.add(x) 如果x不在集合S中,将x增加到S
    S.discard(x) 移除S中元素x,如果x不在集合S中,不报错
    S.remove(x) 移除S中元素x,如果x不在集合S中,产生KeyError异常
    S.clear() 移除S中所有元素
    S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError异常
    S.copy() 返回集合S的一个副本
    len(S) 返回集合S的元素个数
    x in S 判断S中元素x,x在集合S中,返回True,否则返回False
    x not in S 判断S中元素x,x不在集合S中,返回False,否则返回True
    set(x) 将其他类型变量x转变为集合类型
    A = {"p", "y", 123}
    for item in A:
        print(item, end="")
    

    五、集合类型应用场景、

    5.1 包含关系比较

    "p" in {"p", "y" , 123}
    

    True

    {"p", "y"} >= {"p", "y" , 123}
    

    False

    5.2 数据去重:集合类型所有元素无重复

    ls = ["p", "p", "y", "y", 123]
    s = set(ls)   # 利用了集合无重复元素的特点
    s
    

    [123, 'y', 'p']

    六、小结

    • 集合使用{}和set()函数创建
    • 集合间操作:交(&)、并(|)、差(-)、补(^)、比较(>=<)
    • 集合类型方法:.add()、.discard()、.pop()等
    • 集合类型主要应用于:包含关系比较、数据去重
    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    Ubuntu 找不到ARM64 的源
    解决ubuntu下error occurred during the signature verification
    Ubuntu 16.04LTS 更新清华源
    Optimizing Deep Learning Computation Graphs with TensorRT
    Runtime Integration with TensorRT
    Python之爬虫
    缓存,队列(Redis,RabbitMQ)
    Web框架之Tornado
    Django之ORM性能优化
    Django进阶(补充)
  • 原文地址:https://www.cnblogs.com/randysun/p/11209379.html
Copyright © 2020-2023  润新知