• python基础学习10----集合


    集合具有无序性,互异性

    一.集合的建立

    空集合

    s=set()
    s={}#这样默认为是一个空字典
    

    集合内的元素是可哈希的即不可变的数据类型

    s={1,2,3,4}
    s=set([1,2,3,4])
    s=set('python')
    print(s)#{'h', 'y', 't', 'n', 'p', 'o'}

    二.添加元素

    s=set([1,2,3,4])
    s.add(5)
    print(s)#{1,2,3,4,5}
    

    update可以添加多个元素

    s.update([5,6])
    print(s)#{1, 2, 3, 4, 5, 6}
    s.update([7,8],{9,10})
    print(s)#{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    

    三.删除元素

    discard和remove都可以表示删除一个元素,但若集合中没有该元素,则使用remove会报错,discard不会

    s={1,2,3,4}
    s.remove(1)
    print(s)#{2, 3, 4}
    s.discard(2)
    print(s)#{3, 4}
    s.discard(5)
    s.remove(5)#这句会报错
    

    pop

    s={1,2,3,4}
    a=s.pop()#随机删除一个元素并将其作为返回值
    print(a)

    clear

    s.clear()#清空集合
    print(s)#set()空集合
    

    四.不可变集合frozenset

    s=frozenset(1,2,3,4)#不能进行增加或删除等操作
    

    五.集合之间的关系

    s1=set([1,2,3,4,5])
    s2=set([4,5,6,7,8])

    交集

    s3=s1&s2
    print(s3)#{4,5}
    s3=s1.intersection(s2)
    print(s3)#{4,5}
    

    并集

    s3=s1|s2
    print(s3)#{1, 2, 3, 4, 5, 6, 7, 8}
    s3=s1.union(s2)
    print(s3)#{1, 2, 3, 4, 5, 6, 7, 8}
    

    差集

    #属于s1但不属于s2
    s3=s1-s2
    print(s3)#{1, 2, 3}
    s3=s1.difference(s2)
    print(s3)#{1, 2, 3}
    

    对称差

    #除去s1和s2中相同的元素
    s3=s1^s2
    print(s3)#{1, 2, 3, 6, 7, 8}
    s3=s1.symmetric_difference(s2)
    print(s3)#{1, 2, 3, 6, 7, 8}
    

    子集

    s1={1,2,3,4}
    s2={3,4,5,6}
    s3={2,3,4}
    print(s2<s1)#False
    print(s3<s1)#True
    print(s3.issubset(s1))#True

    超集

    s1={1,2,3,4}
    s2={3,4,5,6}
    s3={2,3,4}
    print(s1>s2)#False
    print(s1>s3)#True
    print(s1.issuperset(s3))#True
    

      

  • 相关阅读:
    核新同花顺数据结构
    python发送各类邮件的主要方法
    Tesseract-OCR引擎 入门
    ruby函数回调的实现方法
    软件单元测试之我见
    cocos cteator中tiled模式 用图集容易出线
    入坑CCC遇到的一些坑啊
    关于委托的理解
    火狐浏览器的三个坑
    抗锯齿的BUG
  • 原文地址:https://www.cnblogs.com/sfencs-hcy/p/9607475.html
Copyright © 2020-2023  润新知