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}

     

  • 相关阅读:
    python初识面向对象
    python装饰器
    python递归函数及二分法查找
    python内置函数及匿名函数
    生成器和生成器函数以及各种推导式
    第一类对象 函数名 变量名
    初识函数
    文件操作
    基本数据类型补充 深浅拷贝
    Python小程序练习及认识小数据池和编码
  • 原文地址:https://www.cnblogs.com/zhouyuan666/p/9432330.html
Copyright © 2011-2022 走看看