python---集合

发布时间:2019-08-16 10:57:15编辑:auto阅读(1674)

    集合是一个无序的,不重复的数据组合,它的主要作用是:

    1.去重,把列表变为集合就去重了。

    2.关系测试,测试两组数据之前的差集,交集,并集等关系

    #创建两个集合
    list_1 = set([1,3,4,5,6,6,5,7,9])
    list_2 = set([2,4,5,6,8,10])
    print(list_1,list_2)
    #输出:{1, 3, 4, 5, 6, 7, 9} {2, 4, 5, 6, 8, 10}   #列表变为集合自动去重
    
    #交集
    print(list_1.intersection(list_2))
    #输出:{4, 5, 6}
    
    #并集
    print(list_1.union(list_2))
    #输出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    
    #差集
    print(list_1.difference(list_2))                   #我有的,你没有的
    #输出:{1, 3, 9, 7}
    print(list_2.difference(list_1))
    #输出:{8, 2, 10}
    
    #子集
    list_3 = set([1,3,5])
    print(list_3.issubset(list_1))                  #如果list_3是list_1的子集,返回Ture,否则返回False
    #输出:Ture
    print(list_1.issuperset(list_3))                #父集
    #输出:Ture
    
    
    #对称差集
    print(list_1.symmetric_difference(list_2))       #去掉两个集合相交的
    #输出:{1, 2, 3, 7, 8, 9, 10}
    
    print(list_1.isdisjoint(list_2))                  #如果两个集合有交集则返回False,没有交集则返回Ture
    
    
    #关系测试另一种方式-------------------
    #交集
    print(list_1 & list_2)
    
    #并集
    print(list_1 | list_2)
    
    #差集
    print(list_1 - list_2)
    
    #对称差集
    print(list_1 ^ list_2)
    
    #集合基本操作---------------------------
    #增加
    list_1.add(111)                 #添加一项
    list_1.update([222,333,444])    #添加多项
    print(list_1)
    
    
    #删除
    list_1.remove(111)              #删除一值,不存在报错
    list_1.pop()                    #任意删除一个
    list_1.discard(333)             #删除一个值,不存在不会报错
    print(list_1)
    
    # print(len(list_1))            #查看集合长度
    # print(222 in list_1)          #测试数据是否在集合中


关键字