day3-3.1集合操作

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

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系
  • 集合只能添加,没有插入
  • # Author :Gao ling
    list_1 = [1,4,5,7,3,6,7,9]
    list_1 = set(list_1)#集合可以去重,集合也是无序的
    print(list_1,type(list_1))

    list_2 = set([2,6,0,66,22,8])
    print(list_1,list_2)
    '''
    #交集
    print(list_1.intersection(list_2))

    #并集
    print(list_1.union(list_2))
    #差集 in list_1 but not in list_2
    print(list_1.difference(list_2))
    print(list_2.difference(list_1))
    #子集 判断是否为子集
    list_3 = set([1,3,7])
    print(list_3.issubset(list_1))
    print(list_1.issuperset(list_3))
    #对称差集 并集-交集
    print(list_1.symmetric_difference(list_2))

    print("----------------------")
    list_4=set([5,6,8])
    print(list_3.isdisjoint(list_4))#如果两个没有交集返回为true
    '''
    #交集
    print(list_1 & list_2)
    #并集union
    print(list_1|list_2)
    #差集difference
    print(list_1-list_2)#in list_1 but not in list_2
    #对称差集
    print(list_1^list_2)

    #基本操作
    list_1.add(999)#添加一项
    list_1.update([888,777,555])
    print(list_1)

    #使用remove()可以删除一项:若不存在会报错
    list_1.remove(999)
    print(list_1)

    print(len(list_1))#set的长度

    #x in s
    #测试x是否是s的成员

    #x not in s
    #测试x是否不是s的成员
    #删除删除任意元素,print可以打印出删除哪个元素
    print(list_1.pop())

    #discard删除一项,若不存在返回none
    list_1.discard(888)
    print(list_1)
posted @ 2018-01-08 14:35  灵儿三石  阅读(104)  评论(0编辑  收藏  举报