zoukankan      html  css  js  c++  java
  • 集合小结一

    1,普通方法取两个列表的交集eg:

    linux = ['zhou','wang','li','dai']
    java = ['dai','zhou','mack','rachel']
    
    
    linux_and_java = []
    
    for i in java:
        if i in linux:
            linux_and_java.append(i)
    
    print(linux_and_java)

    2,集合set

          a,关系测试 

           b,天然去重

           c,集合是无序的

        表现形式:{} 有value是字典,没有value是集合

          交集:两个都有

          差集:在列表a里有,在b里没有

          并集:把两个列表里,的元素,合并在一起,去重

    linux = {'zhou','wang','li','dai'}
    java = {'dai','zhou','mack','rachel'}
    
    print(type(linux))
    

      求交集intersection,符号&

    print(linux.intersection(java))
    #求交集
    print(linux & java)  #求交集
    

      求差集difference ,符号-

    print(linux.difference(java))   #linux里有,java里面没有的
    print(java.difference(linux))    #java里有,linux里没有

    print(linux - java)

    求联合并集union ,符号 |  

    print(linux.union(java))
    
    print(linux | java) 
    

     update ,把b合并到a中

    linux.update(java)     #把java合并到linux中
    print(linux)
    print(java)
    

      

     反向差集,对称差集,符号 ^

          表现形式 :symmetric_difference

          意思:a和b内,只要互相不在,的都列出

    print(linux.symmetric_difference(java))
    

      

    print(linux ^ java)
    

      

     增加:不能增加已有的,天然去重功能,决定了只能增加不同的

    linux.add('ALEX')
    linux.difference_update(java)#求差集,并赋值给a集合。会修改数据

    删除
    linux.discard('alex')   #删指定的某个,如果删除的元素不存在,不报错
    linux.pop() #随机删一个
    linux.remove('alex')  #删除,但是如果元素不存在,会报错

    linux.issubset(java)  #子集
    print(linux.issuperset(java))  #父集

    a.issuperse<b> #b是a的父集

    isdisjoint #两个集合没有任何关联,就返回为真

  • 相关阅读:
    java soket 和nio
    面试题中问到 aop di ioc 怎么回答
    细谈hashmap
    java中length和length()还有size()的区别
    MySQL 中实现可重复读(RR)的原理--MVCC
    关于字节流/字符流操作文件的问题
    MySQL 中索引优化(即避免索引失效)
    MySQL 数据库中索引的实现 和 建立索引的原则
    CAS和ABA问题
    Volatile的简单理解
  • 原文地址:https://www.cnblogs.com/catherine007/p/7998139.html
Copyright © 2011-2022 走看看