• 4、集合set的功能介绍


    集合是易变(可改变)和无序聚集。集合set支持迭代,很像无值(或仅有键的)字典,用花括号表示{}。
     
    1、集合的创建:
    可以通过调用内建函数set()来创建,及向其传递一个迭代,该迭代的项目成为形成集合的成员。集合也可以由{...}、集合字面值和集合综合表达式语法来创建,尽管set()仍被用于创建空集合({}是空字典),并从存在的对象中构建集合。
    #创建一个空集合
    set()
    #一个四个项目的集合:值为's','p','a','m'(接受任何迭代)
    1 s = set('spam')
    2、差操作:
    新集合包含的项目在s1,不在s2中
    1 s1 = {1,2,3,4}
    2 s2 = {0,1,2,3}
    3 p1 = s1.difference(s2)
    4 print(p1)
    5 >>>
    6 {4}
    3、并操作:新集合包含s1和s2中的项目,不出现重复项
    1 s1 = {1,2,3,4}
    2 s2 = {0,1,2,3}
    3 s3 = s1 | s2
    4 print(s3)
    5 >>>
    6 {0, 1, 2, 3, 4}
    4、交操作:新集合包含s1和s2两者共有的项目
    1 s1 = {1,2,3,4}
    2 s2 = {0,1,2,3}
    3 s3 = s1 & s2
    4 print(s3)
    5 >>>
    6 {1, 2, 3}
    5、添加、修改、删除操作
    s.add(x) , s.remove(x) , s.discard(x) , s.pop() , s.clear()
    添加一个项目;根据值删除一个项目;删除一个存在的项目;删除返回一个随机项目;删除所有项目
    6、复制
    s.copy
    构建s的顶层(表层)复制。该功能与set(s)相同。
    7、子集操作
    1 s1 = {1, 2, 3, 4}
    2 s2 = {1, 2, 3}
    3 i1 = s2.issubset(s1)      #判断s2是否是s1的子集
    4 print(i1)
    5 >>>
    6 True
    8、超子集操作
    1 s1 = {1, 2, 3, 4}
    2 s2 = {1, 2, 3}
    3 i2 = s1.issuperset(s2)      #判断s1是否包含是s2
    4 print(i2)
    5 >>>
    6 True
    9、对称差操作:新集合包含除了s1和s2交集外的元素
    1 s1 = {1, 2, 3, 4}
    2 s2 = {0, 1, 2, 3}
    3 s3 = s1.symmetric_difference(s2)
    4 print(s3)
    5 >>>
    6 {0, 4}
    10、更新:将s2的集合添加到s1中,相当于并操作
    1 s1 = {1, 2, 3, 4}
    2 s2 = {0, 1, 2, 3}
    3 s1.update(s2)
    4 print(s1)
    5 >>>
    6 {0, 1, 2, 3, 4}
  • 相关阅读:
    freemarker 获取当前日期
    获取Map的key和value的两种方法
    maven install中依赖关系打包failed
    cxf动态调用外部web service 报告异常java.lang.NoSuchFieldErr
    Java的Annotation标签
    webservice cxf
    serversocket和socket
    Problem 1 珠江夜游 (cruise .cpp)———2019.10.6
    Problem 2 旅行计划 (travelling .cpp)———2019.10.6
    Problem 3 基站建设 (station.cpp)———2019.10.6
  • 原文地址:https://www.cnblogs.com/wangjunfei/p/7679677.html
Copyright © 2020-2023  润新知