• 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}

     

  • 相关阅读:
    Linux网络编程必看书籍推荐
    SpringMVC DispatcherServlet初始化过程
    freemarker写select组件(五)
    hdu 1009 FatMouse' Trade
    新IOS编程语言 Swift 新编译器Xcode6
    NoSQL数据库:数据的一致性
    POJ 3041 Asteroids
    POJ 3342 Party at Hali-Bula (树形dp 树的最大独立集 判多解 好题)
    __repr__与__str__
    HDU 4950 Monster(公式)
  • 原文地址:https://www.cnblogs.com/zhouyuan666/p/9432330.html
Copyright © 2020-2023  润新知