zoukankan      html  css  js  c++  java
  • Python自动化开发从浅入深-语言基础(set)

    set的概念有点类似于hash表,它是一个无序但不重复的元素集合(而列表、元祖和字典数据都是可以重复的),而且访问速度快。

    set可以方便的进行求交、差、对称差、并集等计算和比对,这在其他序列操作中则比较复杂 

    如图,通过set命令就建立了一个set集合:

         

        通过 a = set()创建一个空集合,通过add进行添加元素。

    定义了set,我们就可以进行以下操作:

    • 添加一个元素,如图,添加一个元素7

       

      添加了三次‘aaa’,只看见一个‘aaa’,set将重复的去除了。

      

    • 一次添加多个元素,如图,添加了7,9,11

       

    • 删除一个元素,如图,将a中的5去掉

       

    • 清空set,如图 

       

    • 求set的长度,如图,求出长度为6

       

    •  查看某个值是不是另一个set的元素,或不是另一个set的成员。

      

    • 查看一个set集的所有元素是否在另一个set集中,如图,

       

    • 求交,如图,2个set的交集为{1,3}。

      

      intersection在返回结果中存放求交的数据,intersection_update不返回结果,它把求交的结果数据放到自身的set中(update)。

          

    • set可以去重,如图,将重复的1,2,3,4数字自动去掉。  

       

    • 求差,如图,b-a = {9,10,7}

       

        difference在返回结果中存放求差的数据,difference_update不返回结果,它把求交的结果数据放到自身的set中(update),如图,把从set a中移除set b中的元素。 

     

        对称差:b^a , symmetric_difference 去掉了2者都有的元素(与求交相反,获取2者都有的元素)。

    图示为对称差

       

    图示为求交

       

    •  求合并union, 如图,b|a,去掉重复的元素,合并为一个set

       

    • 求一个set是否在另外一个set中,如图,c,d集合在b中。

       

    • 将一个字符串进行set转换,如图

        

    • set的copy为浅拷贝,如图

        

    • pop用来删除set中的一个不确定元素,并且返回它,如图

       

    • isdisjoint 如果没有交集,则返回True

      

    •  

     

  • 相关阅读:
    申论1
    why factory pattern and when to use factory pattern
    jvm的字符串池
    is assembler instruction and machine instuction atomic
    jvm本身的多线程机制
    final
    java类的加载
    path和classpath的用途
    jar -cmf file1 file2 file3命令
    MANIFEST.MF中的MF是什么意思
  • 原文地址:https://www.cnblogs.com/whiggzhaohong/p/5178533.html
Copyright © 2011-2022 走看看