• python3---集合


    集合(set)是一个无序不重复元素的序列。

    它的主要作用如下:

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

    set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

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

    创建格式:

    1 parame = {value01,value02,...}
    2 或者
    3 set(value)

    例:

    1 #!/usr/bin/python3
     2  
     3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
     4  
     5 print(student)   # 输出集合,重复的元素被自动去掉
     6  
     7 # 成员测试
     8 if('Rose' in student) :
     9     print('Rose 在集合中')
    10 else :
    11     print('Rose 不在集合中')
    12  
    13  
    14 # set可以进行集合运算
    15 a = set('abracadabra')
    16 b = set('alacazam')
    17  
    18 print(a)
    19  
    20 print(a - b)     # a和b的差集
    21  
    22 print(a | b)     # a和b的并集
    23  
    24 print(a & b)     # a和b的交集
    25  
    26 print(a ^ b)     # a和b中不同时存在的元素
    复制代码

    以上实例输出结果:

    1 {'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
    2 Rose 在集合中
    3 {'b', 'a', 'c', 'r', 'd'}
    4 {'b', 'd', 'r'}
    5 {'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
    6 {'a', 'c'}
    7 {'l', 'r', 'z', 'm', 'b', 'd'}

    常用操作:

     s = set([3,5,9,10])      #创建一个数值集合  
     2   
     3 t = set("Hello")         #创建一个唯一字符的集合  
     4 
     5 
     6 a = t | s          # t 和 s的并集  
     7   
     8 b = t & s          # t 和 s的交集  
     9   
    10 c = t – s          # 求差集(项在t中,但不在s中)  
    11   
    12 d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
    13   
    14    
    15   
    16 基本操作:  
    17   
    18 t.add('x')            # 添加一项  
    19   
    20 s.update([10,37,42])  # 在s中添加多项  
    21   
    22    
    23   
    24 使用remove()可以删除一项:  
    25   
    26 t.remove('H')  
    27   
    28   
    29 len(s)  
    30 set 的长度  
    31   
    32 'x' in s  
    33 测试 'x' 是否是 s 的成员   记得是'x' 不是 直接 x  因为是x在集合中是一个字符
    34   
    35 'x' not in s  
    36 测试 'x' 是否不是 s 的成员  
    37   
    38 s.issubset(t)  
    39 s <= t  
    40 测试是否 s 中的每一个元素都在 t 中  
    41   
    42 s.issuperset(t)  
    43 s >= t  
    44 测试是否 t 中的每一个元素都在 s 中  
    45   
    46 s.union(t)  
    47 s | t  
    48 返回一个新的 set 包含 s 和 t 中的每一个元素  
    49   
    50 s.intersection(t)  
    51 s & t  
    52 返回一个新的 set 包含 s 和 t 中的公共元素  
    53   
    54 s.difference(t)  
    55 s - t  
    56 返回一个新的 set 包含 s 中有但是 t 中没有的元素  
    57   
    58 s.symmetric_difference(t)  
    59 s ^ t  
    60 返回一个新的 set 包含 s 和 t 中不重复的元素  
    61   
    62 s.copy()  
    63 返回 set “s”的一个浅复制

    转载自:https://www.cnblogs.com/jiyimeng/p/python11152.html

  • 相关阅读:
    Java的快速失败和安全失败
    Java RMI与RPC的区别
    Java动态代理之JDK实现和CGlib实现(简单易懂)
    JVM——字节码增强技术简介
    Linux内存分配机制之伙伴系统和SLAB
    操作系统动态内存管理——malloc和free的工作机制
    Java中的Map
    Java的PriorityQueue
    Java中的List
    Java中的Set
  • 原文地址:https://www.cnblogs.com/loved/p/8697355.html
Copyright © 2020-2023  润新知