• Python-Day 3-集合


    这篇主要记录学习集合的心得。

    一、概念

    集合(set)是一个无序的不重复元素序列。

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    parame = {value01,value02,...}  #方法1
    set(value) #方法2  
    

    集合去重

    >>> name1=[1,3,4,5,6,72,4,]
    >>> name1=set(name1)
    >>> print(name1)
    {1, 3, 4, 5, 6, 72}er  

    二、集合运算

    1、交集(intersection())或者(&)

    >>> name2=[3,4,5,6,7,3,6]
    >>> name2=set(name2)
    >>> name1.intersection(name2)
    {3, 4, 5, 6}
    >>> name1&name2
    {3, 4, 5, 6}
    

    2 、并集(union())或者(|) 

    >>> name1.union(name2)
    {1, 3, 4, 5, 6, 7, 72}
    >>> name1|name2
    {1, 3, 4, 5, 6, 7, 72}
    

    3、差集(difference())或者(-)

    >>> name1.difference(name2)
    {72, 1}
    >>> name1-name2
    {72, 1}
    

    4 、对称差集(symmetric_difference())或者(^)

    >>> name1.symmetric_difference(name2)
    {1, 7, 72}
    >>> name1^name2
    {1, 7, 72}

    5、是否是子集issubset()或者(<=)

    >>> name1.issubset(name2)
    False
    >>> name1<=name2
    False

    6、是否是父集n或者(>=)  

    >>> name1.issuperset(name2)
    False
    >>> name1>=name2
    False
    

    7、sdisjoint()

    判断两个集合是否有交集,没有交集,则返回True

    >>> name3=[3,6]
    >>> name3=set(name3)
    >>> name2.isdisjoint(name3)
    False
    >>> name3.isdisjoint(name2)
    False
    >>> name4=[100]
    >>> name4=set(name4)
    >>> name1.isdisjoint(name4)
    True

    三、基本操作

    1、添加(add())

    >>> name4=[100]
    >>> name4=set(name4)
    >>> name4.add(100)#添加已存在,不报错
    >>> name4
    {100}
    >>> name4.add(99) #添加不存在,添加一个新的数值
    >>> name4
    {99, 100}
    

     2、添加多项(update())

    >>> name4.update([98,97,95])
    >>> name4
    {97, 98, 99, 100, 95}

    3、删除(remove(),pop(),discard())

    3.1 remove()

    用remove删除时,当元素不存在,会报错

    >>> name4.remove(100) ##删除不存在的元素,会报错
    >>> name4
    {97, 98, 99, 95}
    >>> name4.remove(55)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 55
    

    3.2 pop()

    pop是随机删除集合中的某个元素,并且打印

    >>> name4.pop()
    97
    

    3.3 discard()

    用discard删除不存在的元素,不会出现报错

    >>> name4
    {97, 98, 99, 100, 95}
    >>> name4.discard(9)
    >>> name4.discard(99)  

    4、长度(len())

    >>> name4
    {98, 95}
    >>> len(name4)
    2 

    5、x in sx not in s 

    x in s 测试 x 是否是 s 的成员
    >>> name4
    {98, 95}
    >>> 100 in name4   #测试 x 是否是 s 的成员
    False
    >>> 98 in name4
    True
    

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

    >>> 99 not in name4
    True
    >>> 98 not in name4
    False
    

      

  • 相关阅读:
    判断两个链表是否相交
    【转】TCP连接突然断开的处理方法
    【转】TCP/IP协议——ARP详解
    HTTP协议COOKIE和SESSION有什么区别
    【转】K-Means聚类算法原理及实现
    【转】机器学习实战之K-Means算法
    unity3d 调用Start 注意
    u3d 加载PNG做 UI图片
    Opengl的gl_NormalMatrix
    OpenGL 遮挡查询
  • 原文地址:https://www.cnblogs.com/bianfengjie/p/10732252.html
Copyright © 2020-2023  润新知