• 037 集合类型及操作


    一、概述

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

    二、集合类型定义

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

    • 集合类型与数学中的集合概念一致

    • 集合元素之间无序,每个元素唯一,不存在相同元素

    • 集合元素不可更改,不能是可变数据类型

    • 集合用大括号 {} 表示,元素间用逗号分隔

    • 建立集合类型用 {} 或 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="")
    
    123yp
    

    五、集合类型应用场景

    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, 'p', 'y'}
    
    lt = list(s)  # 还可以将集合转换为列表
    lt
    
    [123, 'y', 'p']
    

    六、小结

    • 集合使用{}和set()函数创建
    • 集合间操作:交(&)、并(|)、差(-)、补(^)、比较(>=<)
    • 集合类型方法:.add()、.discard()、.pop()等
    • 集合类型主要应用于:包含关系比较、数据去重
  • 相关阅读:
    [BS] 小知识点总结-02
    [BS] 小知识点总结-03
    [BS] 小知识点总结-01
    [BS-12] JSON的基础知识--百科
    [BS-11] 关于RGB/ARGB颜色相关知识
    Mac自定义隐藏或显示文件的快捷键
    iOS开发环境C语言基础
    Objective -C Memory Management 内存管理 第一部分
    Objective-C Foundation 框架 Example :Looking for Files 查找文件
    Objective
  • 原文地址:https://www.cnblogs.com/abdm-989/p/14129846.html
Copyright © 2020-2023  润新知