• python中的集合详解


    目录

    一.思考

    二.集合

    基本语法

     集合的常用操作——修改

    1.添加新元素

     2.移除元素

     3.从集合中随机取出元素

     4.清空集合

    5. 消除两个集合的差集

     6.两个集合的合并

    注意:集合的遍历

    三.集合总结


     

    一.思考

     为什么使用集合?

    我们目前接触到了列表、元组、字符串三个数据容器了。基本满足大多数的使用场景。为何又需要学习新的集合类型呢?

    通过特性来分析:

    • 列表可修改.支持重复元素且有序
    • 元组、字符串不可修改.支持重复元素且有序

    大家,有没有看出一些局限?

    局限就在于:它们都支持重复元素。
    如果场景需要对内容做去重处理,列表、元组、字符串就不方便了。

    而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序

    二.集合

    基本语法

     和列表、元组、字符串等定义基本相同:

    • 列表使用:[ ]
    • 元祖使用:( )
    • 字符串使用:" "
    • 集合使用:{ }

    演示

    1. my_set = {"你好","世界","程序设计"}
    2. my_set1 =set() #定义空集合
    3. my_set2 = {"你好世界,程序设计"}
    4. my_set3 = {"d","d","b","a"}
    5. my_set4 = {"a","c","c","d"}
    6. print(f"my_set的内容是{my_set},它的类型是{type(my_set)}")
    7. print(f"my_set1的内容是{my_set1},它的类型是{type(my_set1)}")
    8. print(f"my_set2的内容是{my_set2},它的类型是{type(my_set2)}")
    9. print(f"my_set3的内容是{my_set3},它的类型是{type(my_set3)}")
    10. print(f"my_set4的内容是{my_set4},它的类型是{type(my_set4)}")
    11. #由结果可知最后输出的集合是无序、不重复的

    结果是

     由结果可知最后输出的集合是无序、不重复的

    set里面的元素可以是列表、元组、range对象等。另外,也可以是字符串,如果字符串,返回值将是包含全部不重复字符的集合。

    1. my_set2 = {"你好世界,程序设计"}
    2. my_set = set("你好世界,程序设计")
    3. my_set1 = set([1,2.3,4,5.325,3])
    4. print(f"my_set的内容是{my_set},它的类型是{type(my_set)}")
    5. print(f"my_set2的内容是{my_set2},它的类型是{type(my_set2)}")
    6. print(f"my_set1的内容是{my_set1},它的类型是{type(my_set1)}")

    结果是

     集合的常用操作——修改

    首先,因为集合是无序的,所以集合不支持:下标索引访问
    但是集合和列表一样,是允许修改的,所以我们来看看集合的修改方法。

    • 添加新元素
    • 移除元素
    • 从集合中随机取出元素
    • 清空集合
    • 消除两个集合的差集
    • 两个集合合并
    • 统计集合元素数量len( )

    1.添加新元素

    语法:集合.add(元素)。将指定元素,添加到集合内
    结果:集合本身被修改,添加了新元素

     2.移除元素

    语法:集合.remove(元素),将指定元素,从集合内移除
    结果:集合本身被修改,移除了元素

     3.从集合中随机取出元素

    语法:集合.pop(),功能,从集合中随机取出一个元素
    结果:会得到一个元素的结果。同时集合本身被修改,元素被移除

     4.清空集合

    语法:集合.clear(),功能,清空集合
    结果:集合本身被清空

    5. 消除两个集合的差集

    语法:集合1.difference_update(集合2)
    功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。
    结果:集合1被修改,集合2不变

    演示 

    1. t1 = {"1","2","4"}
    2. t2 = {"2","4","5"}
    3. t1.difference_update(t2)
    4. print(t1)
    5. print(t2)

     6.两个集合的合并

    语法:集合1.union(集合2)
    功能:将集合1和集合2组合成新集合
    结果:得到新集合,集合1和集合2不变

     演示

    注意:集合的遍历

    集合不支持下标索引,不能用while循环但是可以用for循环

    演示

    三.集合总结

     经过上述对集合的学习,可以总结出集合有如下特点:

    1. 可以容纳多个数据
    2. 可以容纳不同类型的数据(混装)
    3. 数据是无序存储的(不支持下标索引)
    4. 不允许重复数据存在
    5. 可以修改(增加或删除元素等)
    6. 支持for循环

     

  • 相关阅读:
    阿里云nginx配置文件不生效
    数字图标的使用(阁瑞钛伦特软件-九耶实训)
    宝塔面板 PHP fileinfo Class ‘finfo‘ not found 的解决办法
    中国象棋(人机)
    Oracle数据迁移实用入门
    ARC123E Training
    攻防世界-web-Training-WWW-Robots
    青龙面板薅羊毛教程之小米电动车
    TOYOTA MOTOR CORPORATION Programming Contest 2022(AtCoder Beginner Contest 270)
    【Vue3】手把手教你创建前端项目 Vue3 + Ts + vite + pinia
  • 原文地址:https://blog.csdn.net/weixin_63318044/article/details/128176165