zoukankan      html  css  js  c++  java
  • 集合的操作

    集合是一个无序的,不重复的数据组合,作用如下:

    1.去重,把一个列表变成集合,就自动去重了

    2.关系测试,测试两组数据之前的交集、差集、并集等关系

    创建集合

    >>> a = [1, 3, 5, 3]
    >>> b = set(a)
    >>> b
    {1, 3, 5}

    交集

    intersection 或 &

    >>> a = set([1, 3, 5, 7])
    >>> b = set([3, 9, 11])
    >>> a.intersection(b)
    {3}
    >>> a & b
    {3}

    并集

    union 或 |

    >>> a = set([1, 3, 5, 7])
    >>> b = set([3, 9, 11])
    >>> a.union(b)
    {1, 3, 5, 7, 9, 11}
    >>> a | b
    {1, 3, 5, 7, 9, 11}

    差集

    difference 或 -

    >>> a = set([1, 3, 5, 7])
    >>> b = set([3, 9, 11])
    >>> a.difference(b)
    {1, 5, 7}
    >>> a - b
    {1, 5, 7}

    对称差集(并集-差集)

    symmetric_difference 或 ^

    >>> a = set([1, 3, 5, 7])
    >>> b = set([3, 9, 11])
    >>> a.symmetric_difference(b)
    {1, 5, 7, 9, 11}

    是否是另一个的子集超集

    issubset issuperset

    >>> a = set([1, 3, 5, 7])
    >>> b = set([3, 9, 11])
    >>> a.issubset(b)
    False
    >>> a.issuperset(b)
    False
    >>> c = set([1, 7])
    >>> c.issubset(a)
    True
    >>> a.issuperset(c)
    True

    两者是否无交集

    isdisjoint

    >>> a = set([1, 3, 5, 7])
    >>> b = set([3, 9, 11])
    >>> a.isdisjoint(b)
    False
    >>> d = set([2, 4, 6, 8])
    >>> a.isdisjoint(d)
    True

    基本操作

    add

    >>> a = set([1, 3, 5, 7])
    >>> a.add('yes')
    >>> a
    {1, 3, 5, 'yes', 7}

    remove

    >>> a = set([1, 3, 5, 7])
    >>> a.remove(1)
    >>> a
    {3, 5, 7}

    pop 随机删除

    >>> a = set([1, 3, 5, 7])
    >>> a.pop()
    1
    >>> a
    {3, 5, 7}

    discard 删除一个指定值,如果集合中没有不做任何操作

    >>> a = set([1, 3, 5, 7])
    >>> a.discard(8)
    >>> a
    {1, 3, 5, 7}
    >>> a.discard(5)
    >>> a
    {1, 3, 7}

    update

    >>> a = set([1, 3, 5, 7])
    >>> a.update([2, 4, 6, 8])
    >>> a
    {1, 2, 3, 4, 5, 6, 7, 8}
  • 相关阅读:
    ES6 新特性
    基于.NET平台常用的框架整理
    你可能不知道的一些JavaScript 奇技淫巧
    js中apply方法的使用
    数据库中字段类型对应C#中的数据类型
    C# Socket SSL通讯笔记
    Media Types
    JS使用模板快速填充HTML控件数据 --- 自己写组件(0)
    FastDFS的配置、部署与API使用解读(8)FastDFS多种文件上传接口详解
    FastDFS的配置、部署与API使用解读(7)Nginx的FastDFS模块
  • 原文地址:https://www.cnblogs.com/allenzhang-920/p/8619680.html
Copyright © 2011-2022 走看看