python自学——集合

发布时间:2019-03-06 17:04:56编辑:auto阅读(1892)

    #皇城根儿
    #集合:是无序的、不重复的;1、去重;2、关系测试
    #创建集合
    #创建数字集合
    number=set([1,3,5,7,9]) #数字型集合
    str_type=set(["im","is","are"])#字符串集合
    #列表转换成集合
    list_1=[1,4,5,7,9]
    list_1=set(list_1) #赋值
    print(list_1,type(list_1))#type():查看数据类型
    #关系测试
    #交集(公共部分)
    # 交集分为两种形式。
    #第一种 使用intersection
    list_2=set([0,2,66,4,6,8,22])
    print(list_1.intersection(list_2))
    #第二种使用运算符号求交集 &
    print(list_1&list_2)
    #并集(两个集合相加)
    #并集也共分为两个部分
    #第一部分使用公式 union
    print(list_1.union(list_2))
    #第二种方式使用运算符号来求并集 a|b
    print(list_1|list_2)
    #差集(两个集合相减)
    #使用difference
    print(list_1.difference(list_2))
    #使用运算符号 -
    print(list_1-list_2)
    #对称交集(并集-交集)
    #使用公式symmetric_differece
    print(list_1.symmetric_difference(list_2))
    #----------判断-----------
    #判断集合大小,是否属于包含关系
    #判断子集
    list_3=set([1,5])
    print(list_3.issubset(list_1))
    print(list_1.issuperset(list_3))
    #判断是否无交集 使用公司 isdisjoint
    print(list_1.isdisjoint(list_2))


    #------集合的其他公式--------
    #浅复制
    list_5=list_1.copy()
    print(list_5)
    print(len(list_1))
    #增加 一项使用add
    list_1.add(99)
    print(list_1)
    #增加多项
    list_1.update([99,4,91,12])
    print(list_1)
    #删除
    #删除一项是remove 注意:remove指定集合中没有的相会产生报错
    list_1.remove(99)
    #删除还有一项是discard------删除之后不会报错
    list_1.discard(25)
    #随机删除 pop()-----括号内不能填东西
    list_1.pop()
    print(list_1)

关键字