zoukankan      html  css  js  c++  java
  • Python集合

    集合(set)是一个无序的不重复元素序列,它的主要作用如下:

    • 去重,把一个列表变成集合,就自动去重了
    • 关系测试,测试两组数据之前的交集、差集、并集等关系

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    a = set('aaa')
    b = {'aaa'}
    c = {'a', 'a', 'a'}
    d = set(['aaa'])print(a)
    print(b)
    print(c)
    print(d)

    输出结果:

    {'a'}
    {'aaa'}
    {'a'}
    {'aaa'}

    可以看出set()和{}方法是有区别的:

    set(‘aaa’) = {‘a’, ‘a’, ‘a’}     set([‘aaa’]) = {‘aaa’}

    集合间的运算

    s = set('Hi')
    t = set('Hello')
    
    a = t | s  # t 和 s的并集
    b = t & s  # t 和 s的交集
    c = t - s  # 求差集(项在t中,但不在s中)
    d = t ^ s  # 对称差集(项在t或s中,但不会同时出现在二者中
    
    print(a)
    print(b)
    print(c)
    print(d)

    输出结果:

    {'H', 'e', 'i', 'o', 'l'}
    {'H'}
    {'e', 'o', 'l'}
    {'e', 'i', 'o', 'l'}

    集合的内置方法

    序号 方法
    1

    add()

    为集合添加元素

    2

    clear()

    移除集合中的所有元素

    3

    copy()

    浅copy一个集合

    4

    difference()

    返回多个集合的差集

    5

    difference_update()

    移除集合中的元素,该元素在指定的集合也存在

    6

    discard()

    删除集合中指定的元素(元素不存在不会发生错误)

    7

    intersection()

    返回集合的交集

    8

    intersection_update()

    删除集合中的元素,该元素在指定的集合中不存在

    9

    isdisjoint()

    判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False

    10

    issubset()

    判断指定集合是否为该方法参数集合的子集

    11

    issuperset()

    判断该方法的参数集合是否为指定集合的子集

    12

    pop()

    随机移除元素

    13

    remove()

    移除指定元素(元素不存在会发生错误)

    14 symmetric_difference()
    返回两个集合中不重复的元素集合
    15 symmetric_difference_update()
    移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
    16

    union()

    返回两个集合的并集

    17

    update()

    给集合添加多个元素

     

    可用len()计算元素个数

    x in s 判断元素x是否在集合s中

    frozenset: 无法修改的集合,不具备修改集合的方法

  • 相关阅读:
    yum 安装包的用法
    php session文件修改路径
    apache性能测试工具ab使用详解
    shell exit 0 exit 1
    网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析
    【转载】新手如何快速打造高流量网站
    高并发处理方案
    HTML静态化技术
    在项目中学习.NET的json(二)之运费计算器
    在项目中学习.NET的json(一)
  • 原文地址:https://www.cnblogs.com/dbf-/p/10570133.html
Copyright © 2011-2022 走看看