• Python学习——集合


    集合(set):确定的无序的一组数据就是集合。集合无特定的标识符号)

      特点:

    • 集合中的值不会重复(唯一)
    • 集合中的元素没有任何顺序
    • 集合中可以使用整数,浮点数,布尔值,复数,字符串,元组,冰冻集

    集合的基本操作

      1.创建空集合

        varset =  set()     #创建一个空集合

      2.具有数据的集合

        varset = { ‘A’,‘B’,‘C’ }

      3.集合成员检测

        print(‘A’ in var)

    集合推导式

      创建一个集合varset = { ‘A’,‘B’,‘C’ }

      1.基本的集合推导式

        print({'*' + i + '*' for i in varset})

      2.带有判断条件的集合推导式

        print({'*' + i + '*' for i in varset if i != 'A'})

      3.多循环集合推导式

        print({ c + str(s) for c in colors  for s in sizes})

    集合函数

      创建一个列表

        var = set()

      1.add()向集合中添加元素

        var.add('A')

      2.pop()随机删除集合中的一个元素

        var.pop()

      3.remove()删除集合中的指定元素,弱元素不从在就会报错

        var.remove('A')

      4.discard()删除集合中指定的元素,若元素不存在时,啥都不做

        var.disvard('E')

      5.clear()清空集合

        var.clear()

      6.copy()复制集合

        new_var = var.copy()

     

    集合处理

      假设定义俩个集合var1和var2

      1.difference()计算俩个集合的差集

        print(var1.difference(var2))     #输出var1集合和var2集合的交集

      2.different_update()  俩个集合的差集更新操作,将差集赋值给前一个集合

        var1.difference_update(var2)    ------> print(var1)

      3.union()集合的并集操作

        print(var1.union(var2))     #输出俩个集合的并集

      4.update()并集的跟新操作

        var1.update(var2)    #将俩个集合的并集更新至var1集合中

      5.intersection()计算俩个集合的交集

        print(var1.intersection(var2))

      6.intersection_update()更新并集操作

        var1.intersection_update(var2)    #将俩个集合的交集赋值给var1集合

    集合判断操作

      1.issupperset()检测当前集合是否是另一个集合的超级

        print(var1.issupperset(var2))    #检测集合var1是否是var2集合的超级

      2.issubset()检测当前集合是否是另一个集合的子集

        print(var1.issubset(var2))     #检测集合var1是否是集合var2的子集

      3.isdisjoint()检测俩集合是否不存在交集

        print(var1.isdisjoint(var2))   

      4.symmetric_difference()   集合的对称差集

        print(var1.symmetric_difference(var2))

      5.symmetric_difference_update() 更新集合的对称差集

        var1.symmetric_difference_update(var2)

      

    冰冻集合

    定义:冰冻集合是一种特殊的集合类型,(集合是列表的话,冰冻集合就是列表)

    1.创建空的冰冻的集合     ——> var = frozenset()

    2.带有数据的冰冻集合   ——>var = frozenset(('A','B','C'))

    3.成员检测  ——>print('A' in var)

    4.遍历冰冻集合    ——>  for x in var:

    5.集合推导式(结果无法得到冰冻集合,可得到集合,列表,元组,字典等)

        res  = {i  for  i  in  var}

    集合函数

    1.冰冻集合可以使用集合的函数,前提是不能修改集合本身,如copy()

    2.集合的交集,并集,差集等都可以使用,前提是不能修改集合数据

    注:冰冻集合和普通集合求并集会得到一个冰冻集合,普通集合和冰冻集合求并集会得到一个普通集合

    #注:此文件解释权归自身拥有,若有疑问可邮件咨询:yuxiang000@foxmail.com

  • 相关阅读:
    使<div>做的层不随滚动条的移动而移动
    datagrid 实现 表头水平可以移动 垂直固定
    csapp 、sicp 、深入理解计算机系统、 计算机程序的构造和解释
    window.open使用
    C#进程管理
    asx根据时间点播放
    Ext GrdPanel多种取值方式
    System.ComponentModel.Win32Exception: 拒绝访问
    播放器Object使用
    M3U文件格式
  • 原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/7819845.html
Copyright © 2020-2023  润新知