• python set 常用方法


    1:add
    2:clear
    3:copy 浅拷贝
    4:difference 判断两个set的不同,并且拿到他们的不同返回一个新列表
    5:differnce_update:是将原来的set跟新,set.difference_update(['eric',blare'])把与原来相同的剔除,不返回一个新的set,只是跟新了原有的set(集
    6:discard :移除元素
    7:intersection 取交集,新建一个set
    8:intersection_update() 跟新有原有的set,不返回
    9:issubset:是否是有子集
    10:isdisjoint :如果没有交集,返回True
    11:issuperset:是否有父集
    12:pop ,移除一个元素并且取得该元素
    13:remove:只移除;不返回该值;remove('tony')
    14:symmetric_difference_update:是将a-b 和b-a 得到的重新组合成一个set#并不能和差集一样(对称差)
    

    15:update

    代码如下:

    s2 = set(['bluesli','blues','blare'])
    print(s2)
    print(s2.difference(('alex','blare')))
    print(s2)
    
    s4 = s2.difference_update(['alex','blare'])
    print(s2)
    print(s4)
    
    s2 = set(['bluesli','blues','blare'])
    
    
    数据库中原有
    old_dict = {
        "#1": {'hostname': 'c1''', 'cpu_count': 2, 'mem_capicity': 80},
        "#2": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80},
        "#3": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80},
        '#6':'jjj'
    }
    
    # cmdb 新汇报的数据
    new_dict = {
        "#1": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 800},
        "#3": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80},
        "#4": {'hostname': 'c2', 'cpu_count': 2, 'mem_capicity': 80},
        '#5':11
    }
    
    #通过交集得到需要跟新的
    #通过差集得到
    
    old = set(old_dict.keys())
    new = set(new_dict.keys())
    
    update_set = old.intersection(new)
    print(update_set)
    delete_set = old.symmetric_difference(update_set)
    print(delete_set)
    add_set = new.symmetric_difference(update_set)
    print(add_set)
    print(new.symmetric_difference(old))
    new.symmetric_difference_update(old)
    print(new)
    
    
    
    
    
  • 相关阅读:
    java之Arrays.asList
    MySql索引
    Maven私服搭建
    基于Docker的GitLab搭建
    ubuntu新建组合用户命令不管用
    Linux 安装jdk
    消息队列
    Netty之大动脉Pipeline
    Netty之大名鼎鼎的EventLoop
    Netty之揭开BootStrap 的神秘面纱
  • 原文地址:https://www.cnblogs.com/bluesl/p/9079551.html
Copyright © 2020-2023  润新知