zoukankan      html  css  js  c++  java
  • python基础7--集合

    集合set


      Python的set集合是一个无序不重复元素集。基本功能包括关系测试和消除重复元素。集合对象还支持union(并集)、intersection(交集)、difference(差集) 和 sysmmetric differencr(对称差集)等数学运算。

      set 支持 x in set, len(set), for x in set。作为无序集合,set不记录元素的下标。

    事例:

    一、集合操作

    1.创建集合

    set1 = set('bestberg')
    print(set1)
    
    #输出
    {'b', 'g', 'e', 't', 'r', 's'}   # b 去重了
    

      

    2.集合添加 add将要传入的元素作为一个整体添加到集合中

    1 a = set('lion')
    2 a.add('rabbit')
    3 print(a)

     

    3.集合添加 update 将要传入的元素拆分,作为个体插入到集合中

    1 b = set('lion')
    2 b.update('rabbit')
    3 print(b)

     

     4.集合删除 remove

    1 a = set('lion')
    2 a.add('rabbit')
    3 print(a)
    4 
    5 a.remove('rabbit')
    6 print(a)

    # pop()
    >>> set1
    {1, 2, 3, 4, 5}
    >>> set1.pop()
    1
    # set1
    >>> set1
    {2, 3, 4, 5}
    
    # discard
    
    >>> set1.discard(3)
    >>> set1
    {2, 4, 5}
    >>> set1.discard(1)
    >>> set1
    {2, 4, 5}
    
    # discard在删除不存在的元素时,不会报错
    

      

     

    二、集合关系

    1.并集(去重)

    1 a = {1,2,3,4,33,66}
    2 b = {3,4,5,6,33}
    3 
    4 print(a.union(b))  # print(a | b)

    {33, 2, 66, 3, 4, 1, 5, 6} #相同部分只保留一份

     

    2.交集

    1 a = {1,2,3,4,33,66}
    2 b = {3,4,5,6,33}
    3 
    4 print(a.intersection(b))
    5 print(a & b)

    {33, 3, 4}
    {33, 3, 4}

     

    3.差集

    1 a = {1,2,3,4,33,66}
    2 b = {3,4,5,6,33}
    3 
    4 print(a.difference(b))
    5 print(b.difference(a))   # print(b - a)

    {1, 2, 66}
    {5, 6}

     

    4.相对补集

    1 a = {1,2,3,4,33,66}
    2 b = {3,4,5,6,33}
    3 
    4 print(a.symmetric_difference(b)) #去掉相同的元素
    5 print(b.symmetric_difference(a))

    {1, 2, 5, 6, 66}
    {2, 66, 5, 1, 6}

     

    5.子集 和 父集

    1 a = {1,2,3,4,33,66}
    2 b = {3,4,5,6,33}
    3 
    4 print(a.issubset(b))   # 子集
    5 print(b.issuperset(a))  # 父集

    False
    False

     

  • 相关阅读:
    [置顶] 一道经典的sql面试题不同的写法
    Spring框架下的单元测试方法
    [Oracle] 参数修改小结
    linux之chdir函数解析
    windows media player 中播放pls的方法
    服务器管理十大误区
    AsyncTask 与 对话框显示 view.WindowManager$BadTokenException: Unable to add window…is not valid; is your a
    php用apc实现的临界区 解决并发,资源互斥同步访问
    Windows无需CygWin 使用NDK开发
    poj 2305(指定进制,大数取模)
  • 原文地址:https://www.cnblogs.com/bigberg/p/6438204.html
Copyright © 2011-2022 走看看