zoukankan      html  css  js  c++  java
  • python-集合

    #集合是一个无序的,不重复的数据组合
    #去重,把一个列表变为集合就会自动去重

    list = set([1,2,3,4,1,3,4,2])
    list2 = set([1,5,6,7,8])
    set = set(list)
    print type(set),set
    >>><type 'set'> set([1, 2, 3, 4])

    #并集
    print list.union(list2)
    print list2 | list
    >>>set([1, 2, 3, 4, 5, 6, 7, 8])
    >>>set([1, 2, 3, 4, 5, 6, 7, 8])
    #交集
    print list.intersection(list2)
    print list2 & list
    print list2.isdisjoint(list)#没有交集返回TRUE,有交集返回False

    >>>set([1])
    >>>set([1])
    >>>False

    #子集
    print list.issubset(list2)
    >>>False

    #对称差集,把互相没有的取出来
    print list2.symmetric_difference(list)
    print list ^ list2
    >>>set([2, 3, 4, 5, 6, 7, 8])
    >>>set([2, 3, 4, 5, 6, 7, 8])

    #差集 把前面有后面没有的取出来
    print list2.difference(list)
    print list - list2
    >>>set([8, 5, 6, 7])
    >>>set([2, 3, 4])

    #添加
    list.add('qwe')
    list.update([111,333,1])#把列表里有的,集合没有的合并过去
    print list
    >>>set([1, 2, 3, 4, 'qwe', 333, 111])

    #删除
    list.remove('qwe')#没有则报错
    list.pop()#随意删除并返回该值
    list.discard('123')#删除该值,没有则返回None
    print list
    >>>1
    >>>set([2, 3, 4, 333, 111])

    #set的长度
    print len(list)
    >>>5
    print list.issuperset(list2)#list集合是否包含在list2集合里
    >>>False
    #判断值是否在集合里
    print 333 in list
    >>>True
    print 222 not in list
    >>>True
  • 相关阅读:
    24-反转链表
    23-链表中环的入口节点
    22-链表中倒数第k个节点
    21-调整数组顺序使奇数位于偶数前面
    18-删除链表的节点
    17-打印从1到最大的n位数
    16-数值的整数次方
    15-二进制中1的个数
    14-剪绳子
    13-机器人的运动范围
  • 原文地址:https://www.cnblogs.com/liangyan-1989/p/8259357.html
Copyright © 2011-2022 走看看