zoukankan      html  css  js  c++  java
  • python3-集合set

    # Auther: Aaron Fan

    '''
    集合是一个无序的,不重复的数据组合,它的主要作用如下:
    去重,把一个列表变成集合,就自动去重了
    关系测试,测试两组数据之前的交集、差集、并集等关系
    '''

    list_1 = [1,3,4,7,3,6,7,9]
    #去重
    list_1 = set(list_1)

    list_2 = set([2,6,0,66,22,8,4])
    list_3 = set([1,3,7])
    print(list_1)
    print(list_2)
    print(list_3)
    print("---------------------------")

    #关系测试
    #交集(两个列表里面都有的值,这里是4、6):
    print(list_1.intersection(list_2))

    #并集(把两个列别合并起来,然后去重):
    print(list_1.union(list_2))

    #差集(把list_1里面有的而list_2里面没有的取出来):
    print(list_1.difference(list_2))
    #对称差集(两个列表里面,互相没有的取出来,也就是只去掉那些互相都有的值)
    print(list_1.symmetric_difference(list_2))

    #子集(判断list_1是否包含了list_3里面的所有值)
    print(list_3.issubset(list_1))
    #父集(判断list_1是否为list_3的父集)
    print(list_1.issuperset(list_3))

    #无交集(判断list_3和list_4是否完全没有任何交集)
    list_4 = set([5,6,8])
    print(list_3.isdisjoint(list_4))

    #-----------------------关系测试的另一种写法:
    '''
    s = set([3,5,9,10]) #创建一个数值集合

    t = set("Hello") #创建一个唯一字符的集合


    a = t | s # t 和 s的并集

    b = t & s # t 和 s的交集

    c = t – s # 求差集(项在t中,但不在s中)

    d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)

    基本操作:

    t.add('x') # 添加一项

    s.update([10,37,42]) # 在s中添加多项



    使用remove()可以删除一项:

    t.remove('H') #有就删除,没有就报错
    t.pop() #随机弹出一个
    t.discard('H') #有就删除,没有也不会报错

    len(s)
    set 的长度

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

    x not in s
    测试 x 是否不是 s 的成员

    s.issubset(t)
    s <= t
    测试是否 s 中的每一个元素都在 t 中

    s.issuperset(t)
    s >= t
    测试是否 t 中的每一个元素都在 s 中

    s.union(t)
    s | t
    返回一个新的 set 包含 s 和 t 中的每一个元素

    s.intersection(t)
    s & t
    返回一个新的 set 包含 s 和 t 中的公共元素

    s.difference(t)
    s - t
    返回一个新的 set 包含 s 中有但是 t 中没有的元素

    s.symmetric_difference(t)
    s ^ t
    返回一个新的 set 包含 s 和 t 中不重复的元素

    s.copy()
    返回 set “s”的一个浅复制
    '''
  • 相关阅读:
    c
    罗扎诺夫高效记忆音乐【推荐试试】
    通过信息系统项目管理师最高可申领补贴2000元
    人事考试网【您有新信息】浙江人事考试网_浙江省公务员考试网_2017浙江公务员考试_中公浙江
    几种需求管理工具(转)_伊处_新浪博客
    PLM_百度百科
    统御软件 (oKit)| 项目管理软件,项目管理咨询,项目需求管理工具,集成研发管理平台 ——管理咨询与实施工具 一站式项目管理解决方案
    Oracle PLM
    Oracle PLM
    Oracle PLM
  • 原文地址:https://www.cnblogs.com/AaronFan/p/6057263.html
Copyright © 2011-2022 走看看