• 集合类型(set)的使用


    集合类型(set)的使用

    返回首页

      集合的特性:天然去重,集合无序集合本身是可变数据类型,但是集合内的元素一定是不可变数据类型

       集合用于做关系测试,集合的表述形式是 " { } ",和字典的表述一样,但是集合没有key和value的关系。

      集合的使用方法:交集intersection( )、差集difference( )、并集union( )、反向差集(也叫对称差集)symmetric_difference( )。

       判断元素是否在集合中,用 in 去判断。用布尔值返回结果,True是在集合里,False是不在集合里。

    Linux = {'wang','george',}
    print("wang" in Linux)

      交集intersection( ):两个数据集里面都有的。

    Linux = {'wang','george',}
    python = {'wang',"george",'you','mack','rachel'}
    print(Linux.intersection(python))
    print(Linux & python)

      并集union( ):将两个数据集合并在一个数据集里,同时去重。union不会改变原有的集合数据,只是将求并集的结果返回而已。

    Linux = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    print(Linux.union(python))
    print(Linux | python)

      并集的另外用法:update( )方法。update()和union()的区别在于update是会改变数据集的,而union不会改变。 

    Linux1 = {'wang','george',"KFC"}
    Linux2 = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    print(Linux1.union(python))
    print(Linux1)
    Linux2.update(python)
    print(Linux2)

      差集difference( ):在A数据集里有,在B数据集里没有的。

    Linux = {'wang','george',}
    python = {'wang',"george",'you','mack','rachel'}
    print(Linux.difference(python))   #打印Linux有,而python没有的
    print(python.difference(Linux))   #打印python有,而Linux没有的
    print(Linux - python)
    print(python - Linux)

      反向差集(也叫对称差集)symmetric_difference( ):两个数据集除去都有的元素,剩下的元素组成新的集合,就是反向差集。

    Linux = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    print(Linux.symmetric_difference(python))
    print(Linux ^ python)

      ### 合的增删改查操作:

      增操作:

    Linux = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    Linux.add("aaaa")   #增加
    print(Linux)
    Linux1 = Linux.copy()     #复制,和列表字典的复制一样
    print(Linux)
    print(Linux1)

      删操作:

    Linux = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    Linux.clear()   #清空Linux集合
    print(Linux)
    Linux.discard('KFC')   # 删除  但是,元素不存在,不会报错
    print(Linux)
    Linux.pop()   #随机删除
    print(Linux)
    Linux.remove('ggg')  # 删除  但是,元素不存在,会报错
    print(Linux)

      改操作:

    Linux = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    Linux.update(python) #把Python合并到Linux中。彻底修改Linux集合。
    print(Linux)
    Linux_diff = Linux.difference(python)   #求差集并赋值改Linux集合
    print(Linux_diff)

      查操作:

    Linux = {'wang','george',"KFC"}
    python = {'wang',"george",'you','mack','rachel'}
    a = Linux.issubset(python)   #子集,判断Linux,是不是Python的子集
    a = Linux.issuperset(python)   #子集,判断Linux,是不是Python的子集
    print(a)
    b=Linux.isdisjoint(python)   #两个集合没有关系,返回真。
    print(b)

    ------------  END  ------------

       

  • 相关阅读:
    学算法还能指导找对象?是的,这就是大名鼎鼎的稳定婚姻算法
    机器学习 | 详解GBDT梯度提升树原理,看完再也不怕面试了
    Python | 面试的常客,经典的生产消费者模式
    LeetCode 89,因为题目晦涩而被点了1500+反对的搜索问题
    LeetCode 87,远看是字符串其实是搜索,你能做出来吗?
    Golang | Go语言多态的实现与interface使用
    pandas | DataFrame基础运算以及空值填充
    算法数据结构 | 只要30行代码,实现快速匹配字符串的KMP算法
    Mac上使用Docker安装SQLServer
    [翻译]ASP.NET Core在 .NET 5 Preview 7的更新
  • 原文地址:https://www.cnblogs.com/george92/p/12936342.html
Copyright © 2020-2023  润新知