• 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

     

  • 相关阅读:
    mac 使用tree命令
    为什么redis支持lua脚本功能
    redis协议
    Linux的SOCKET编程详解
    大型网站架构之分布式消息队列
    自定义String
    逆转单链表
    单例模式 C++
    构造函数不能为虚函数
    Windows消息机制
  • 原文地址:https://www.cnblogs.com/pangbing/p/8746602.html
Copyright © 2020-2023  润新知