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 #两个集合没有任何关联,就返回为真

  • 相关阅读:
    Moodle的安装和登陆(使用Https)
    Moodle 3.4中添加小组、大组、群
    【转】moodle中年级、班级、小组研讨
    函数式接口
    java实现数据库连接池
    转载---jboss简单使用
    转载---数据库优化方案
    转载---虚拟机类加载机制
    java中的hashcode
    父子类静态代码块,非静态代码块,有参,无参构造方法等的执行顺序问题
  • 原文地址:https://www.cnblogs.com/catherine007/p/7998139.html
Copyright © 2011-2022 走看看