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

     

  • 相关阅读:
    AFN的配置使用
    如何给另外一台电脑(同组其他成员)开发ios权限
    IAP中的坑
    如何在上架app后修改app在商店中的名字
    wordpress禁止调用官方Gravatar头像调用ssl头像链接提升加载速度
    ubuntu 杀死进程命令
    tp框架 php5.5以上版本出现”No input file specified“错误问题解决
    支付宝调用错误:Call to undefined function openssl_sign()
    浏览器下出现net::ERR_BLOCKED_BY_CLIENT的解决办法
    python 整形方法
  • 原文地址:https://www.cnblogs.com/pangbing/p/8746602.html
Copyright © 2011-2022 走看看