zoukankan      html  css  js  c++  java
  • 集合类型(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  ------------

       

  • 相关阅读:
    团队冲刺2---个人工作总结八(6.1)
    团队冲刺2---个人工作总结七(5.31)
    opencv2 用imwrite 抽取并保存视频图像帧
    VMware 虚拟机CentOS 7 网路连接配置 无eth0简单解决办法
    个人总结
    人月神话阅读笔记03
    个人冲刺10
    人月神话阅读笔记02
    第十六周学习进度情况
    个人冲刺09
  • 原文地址:https://www.cnblogs.com/george92/p/12936342.html
Copyright © 2011-2022 走看看