• python set 集合


    set集合的特性

    1.元素必须是可hash的(不可变的)数据类型包括:str、int、 float、tuple

    2.无序且不可重复的

    3.set(这里面必须是可迭代的对象:str、list、dict的key、tuple)


    创建集合方法

    可变集合(unhash):set()

    不可变集合(hash):forzenset()


    访问集合

    集合是无序的,无法使用索引,只能通过历遍和迭代器来取值,in、not in 来判断元素是否在集合中。


    集合的方法

    add 添加

    a = ['alex',3,4]

    s = set(a)

    print(s)

    s.add('xiaoma')

    print(s)

    output:

    {'alex', 3, 4}

    {'xiaoma', 'alex', 3, 4}

    update 更新,会将一个序列的内容全都加到集合中去,重复的会去重a = ['alex',3,4]

    s = set(a)
    print(s)
    s.update({'name':'xia','age':'90'})
    print(s)
    output:

    {3, 4, 'alex'}
    {3, 4, 'alex', 'age', 'name'}

    ------------------------------------------------

    a = ['alex',3,4]
    s = set(a)
    print(s)
    s.update('ops')
    print(s)
    output:

    {3, 4, 'alex'}
    {3, 4, 'p', 's', 'alex', 'o'}

    ----------------------------------------------------

    a = ['alex',3,4]
    s = set(a)
    print(s)
    s.update([1,2])
    print(s)
    output:

    {3, 4, 'alex'}
    {1, 2, 3, 4, 'alex'}

    删除 remove()  pop() clear()  del

    a = ['alex',3,4]
    s = set(a)
    print(s)
    s.remove('alex')
    print(s)

    output:

    {'alex', 3, 4}
    {3, 4}

    ------------------------------------------------------

    a = ['alex',3,4]
    s = set(a)
    print(s)
    s.pop()    #随意删除的形式,有返回值
    print(s)

    output:

    {3, 4, 'alex'}
    {4, 'alex'}

    ---------------------------------------------------------

     s.clear()    #清空集合,和删除还是不太一样的

    a = ['alex',3,4]
    s = set(a)
    print(s)
    s.clear()
    print(s)

    output:

    {3, 'alex', 4}
    set()

    -----------------------------------------------------------------

    a = ['alex',3,4]
    s = set(a)
    print(s)
    del s             #将s删除
    print(s)         #报错


    集合的重点用法 (*****)

    • 去重
    • 测试方式

    a = set([1,2,3,4,5])
    b = set([4,5,6,7,8])

    print( a != b)    #等价判断两个集合是否相等 ,返回一个bool 。==   != 

    print(a & b )     #交集 {4, 5}

    print(a | b)       #并集 {1, 2, 3, 4, 5, 6, 7, 8}

    print(a - b)       #差积 {1, 2, 3}    in  a   but not in b

    print(b - a)       #差积 {6,7,8}      in  b   but not a 

    print( b ^ a )     #对称 {1, 2, 3, 6, 7, 8}

    print(a < b )      #子集 a 是否是b的子集

    print(a > b )      #超集 a 是否是b的父集

  • 相关阅读:
    CF633C Spy Syndrome 2 trie树
    luogu 3998 [SHOI2013]发微博 map
    阿里云ECS新增端口
    阿里云运行docker容器报错
    no matches for kind "ReplicaSet" in version "extensions/v1beta1"
    k8s中flannel:镜像下载不了
    k8s删除节点后再重新添加进去(踩坑)
    如何在IntelliJ Idea中同时启动不同端口
    SpringBoot整合Elastic-job(详细)
    K8S容器探针
  • 原文地址:https://www.cnblogs.com/linux-error/p/9243351.html
Copyright © 2020-2023  润新知