zoukankan      html  css  js  c++  java
  • 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}
  • 相关阅读:
    【0726 | Day 2】编程语言分类/主流编程语言介绍/网络的瓶颈效应
    【0725 | Day 1】计算机编程/计算机组成原理/计算机操作系统
    windows下vue-cli及webpack 构建网站(一)环境安装
    HBuilder 做移动端app流程
    vuejs 学习旅程之 vue-resource
    vuejs 学习旅程一
    身心合一
    td 内容自动换行 table表格td设置宽度后文字太多自动换行
    PhpStorm 2017汉化补丁 2017.1 免费中文版
    PHPStorm2017.1.3永久激活方法之本地破解激活
  • 原文地址:https://www.cnblogs.com/wangjunfei/p/7679677.html
Copyright © 2011-2022 走看看