• 10.集合及其运算


    集合操作

    作用:

       (1)去重

       (2)关系测试

     

    1.去重功能

    >>> a = [1,2,3,2,3,3,4]

    >>> a = set(a)

    >>> print (a)

    {1, 2, 3, 4}

     

    2.交集

    >>> a = set([1,2,3,4])

    >>> b = set([3,4,5,6])

    将a和b先设置为集合

     

    取交集,使用intersection()方法

    print (a.inetrsection(b))

    {3, 4}

     

    3.并集

       两个列表去除重复的数据在合并

       使用union()方法

    >>> print (a.union(b))

    {1, 2, 3, 4, 5, 6}

     

    4.差集

       difference()

    >>> print (a.difference(b))

    {1, 2}

    a里有但是b里没有

    >>> print (b.difference(a))

    {5, 6}

    b里有的但是a里没有

     

    5.子集:issubset()

      父集:issuperset()

    >>> a = set([1,2,3])

    >>> b = set([1,2,3,4])

    >>> print (a.issubset(b))

    True

    查看a是不是b的子集

    >>> print (a.issuperset(b))

    False

    查看a是不是b的父集

     

    6.对称差集(去掉交集的并集)

    >>> a = set([1,2,3,4,5])

    >>> b = set([3,4,5,6,7])

    >>> print (a.symmetric_difference(b))

    {1, 2, 6, 7}

     

     

    二、求这些集合的方式也可以用符号表示

    1、交集: &

    2、并集: |

    3、差级:  -

    4、对称差集: ^

     

    例子:

    >>> a = set([1,2,3,4])

    >>> b = set([3,4,5,6])

    1. 交集:

        >>> print (a & b)

       {3, 4}

    2、并集:

       >>> print (a | b)

       {1, 2, 3, 4, 5, 6}

    3、差级:  -

       >>> print (a - b)

       {1, 2}

       >>> print (b - a)

       {5, 6}

    4、对称差集: ^

       >>> print (a ^ b)

       {1, 2, 5, 6}

      

    三、集合的增删改查

       集合是不可以插入的。

    1.添加:add()

    >>> a = set([1,2,3])

    >>> print (a)

    {1, 2, 3}

    >>> a.add(10)

    >>> print (a)

    {10, 1, 2, 3}

     

    2.添加多个

    a.update(['a','b','c'])

    >>> print (a)

    {'b', 1, 2, 3, 'c', 'a'}

     

    3.删除一个

    >>> a.remove(1)

    >>> print (a)

    {'b', 2, 3, 'c', 'a'}

    >>> a.remove('c')

    >>> print (a)

    {'b', 2, 3, 'a'}

    但是remove删除元素的时候,元素不存在的话就会报错。那么我们可以用discard()

    如果元素不存在就会返回none

    >>> print(a.discard('aaa'))

    None

     

  • 相关阅读:
    Start Developing iOS Apps (Swift) 开始开发iOS应用(Swift)
    ansible copy file
    多个sshkey 指定key来clone仓库
    elastic search 日期为string类型导致视图无法展示时间的解决办法
    ubuntu 安装php 报错解决
    ruby hash 默认值的问题
    11.Mysql 之MHA(高可用)
    10. 主从复制-主从复制(基于GTID)--附加半同步复制
    9 .mysql的备份与恢复
    11.Mysql之回表、最左匹配、索引下推
  • 原文地址:https://www.cnblogs.com/pangbing/p/8746602.html
Copyright © 2020-2023  润新知