• 集合小结一


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

  • 相关阅读:
    echars柱状图修改每条柱的颜色
    vue打开到新页面,并传递参数
    彻底了解websocket原理
    bind和on的区别
    Vue如何更新子组件
    Vue父子组件生命过程
    使用css3实现动画来开启GPU加速
    前端技术体系
    Vue中的~(静态资源处理)
    垂直居中的办法小结
  • 原文地址:https://www.cnblogs.com/catherine007/p/7998139.html
Copyright © 2020-2023  润新知