zoukankan      html  css  js  c++  java
  • python—集合

        ——集合:  (集合中的元素都不相同,无序,且不可变)  (花括号括起来)

                    【1】定义集合

    1 直接定义:
    2 s={1,2,3,(4,5),"zhouyuan"}
    3 使用系统内置函数set定义:
    4 s=set('hello')    
    5 print(s)      #去除重复
    6 #运行结果:{'o','h','l','e'}

                   【2】集合常用方法

                          (1)添加元素: add()

    1 s={1,2,3,4,5,6}
    2 s.add('s')
    3 s.add(5)
    4 print(s)
    5 #运行结果:{1,2,3,4,5,6,'s'}

                          (2)清空: clear()

                          (3)复制: copy()

                          (4)删除: pop()    [不可以传值,直接随机删除一个元素]

                                        remove()  [可以传值,可指定删除某个元素,如不存在报错]

                                        discard()  [可以删除某个元素,如不存在不会报错]

     1 s={1,2,3,'zy'}
     2 s.pop()
     3 print(s)
     4 #运行结果:{1,3,'zy'}   (随机删除某个元素)
     5 t={1,2,3,'zy'}
     6 t.remove('zy')
     7 print(t)
     8 #运行结果:{1,2,3}
     9 t.remove(6)
    10 print(t)
    11 #报错
    12 k={1,2,3,'zy'}
    13 k.discard('zt')
    14 print(k)
    15 #运行结果:{1,2,3,'zy'}

                          (5)求差集并更新  difference_update()

    1 a_s={1,2,3,4}
    2 b_s={3,4,5,6}
    3 a_s.difference_update(b_s)      #相当于a_s=a_s-b_s
    4 print(a_s)
    5 #运行结果:{1,2}

                          (6)判断集合是否有公有的部分   isdisjoint()

    1 a_s={1,2,3}
    2 b_s={2,3,4}
    3 print(a_s.isdisjoint(b_s))     #有公共部分就是False,没有就是True
    4 #运行结果:False

                           (7)判断两个集合是否为包含关系   issubset()[前面是否是后面的子集]    issuperset()[前面是否为后面的父集]

    1 a_s={1,2,3}
    2 b_s={1,2}
    3 print(b_s.issubset(a_s))
    4 #运行结果:True

                           (8)更新多个值  update()

     1 a_s={1,2,3}
     2 b_s={4,5,6}
     3 a_s.update(b_s)
     4 print(a_s)
     5 #运行结果:{1,2,3,4,5,6}
     6 
     7 a_s={1,2,3}
     8 a_s.update((3,5))      #可迭代的都可以
     9 print(a_s)
    10 #运行结果:{1,2,3,5}

                    【3】集合并,交,差关系运算:

     1 #求交集
     2 a_s={1,2,3,4}
     3 b_s={3,4,5,6}
     4 print(a_s.intersection(b_s))     #intersection() 求交集
     5 print(a_s&b_s)      #& and 求交集
     6 #运行结果:{3,4}
     7 
     8 #求并集
     9 a_s={1,2,3,4}
    10 b_s={3,4,5,6}
    11 print(a_s.union(b_s))      #union() 求并集
    12 print(a_s|b_s)     #| 并 求并集
    13 #运行结果:{1,2,3,4,5,6}
    14 
    15 #求差集
    16 a_s={1,2,3,4}
    17 b_s={3,4,5,6}
    18 print(a_s.difference(b_s))      #difference() 求并集
    19 print(a_s-b_s)    #- 减 求差集
    20 #运行结果:{1,2}

                     【4】集合的交叉补集

    1 a_s={1,2,3,4}
    2 b_s={3,4,5,6}
    3 print(a_s.symmetric_difference(b_s))      #symmetric_difference() 交叉补集
    4 print(a_s^b_s)      # ^ 交叉补集
    5 #运行结果:{1,2,5,6}

     

  • 相关阅读:
    应用程序加载外部字体文件(使用AddFontResource API函数指定字体)
    动态调整对话框属性(去掉标题栏,去掉边框,修改类似成Border:NONE样式)(调用ModifyStyle和ModifyStyleEx,然后调用SetWindowPos重新显示)
    输出进程相关联的环境变量信息(使用GetEnvironmentStrings取得信息,然后使用StringCchCopyN和StringCchPrintf保证字符串不会越界)
    基于QT的换肤整体解决方案(QSkinStyle)(提供Linux的XP风格)
    .NET代码自动编译发布
    c#写windows服务
    MVC——分页控件
    WCF入门教程(图文)VS2012
    MSDN官方XmlSerializer类导致内存泄漏和性能低
    学SpringMVC收藏
  • 原文地址:https://www.cnblogs.com/zhouyuan666/p/9432330.html
Copyright © 2011-2022 走看看