zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    图解建立三层架构
    c#和javascript交互
    UML类图
    机器学习算法之一(C4.5)
    html5新语义元素
    Hybrid App:企业移动开发
    解决Eclipse中运行WordCount出现 java.lang.ClassNotFoundException: org.apache.hadoop.examples.WordCount$TokenizerMapper问题【转】
    Hadoop 0.20.2 安装配置说明【转】
    2 宽度优先爬虫和带偏好的爬虫(1)
    Geolocation地理定位
  • 原文地址:https://www.cnblogs.com/pangbing/p/8746602.html
Copyright © 2011-2022 走看看