zoukankan      html  css  js  c++  java
  • 十六、集合set

    一、集合

    python 基础数据类型之:集合set,容器型的数据类型,它要求他里面的元素是不可变的数据,但是它本身是可变的数据类型集合是无序的 {}

    • 集合的作用:

      • 列表的去重

      • 关系测试:交集、并集、差集,........

    • 集合的创建:set1 = set({1,2,3,'barry',False})

      ​ set1 = s{1,2,3,'barry',False}


      # 集合的创建:
      # set1 = set({1, 3, 'Barry', False})
      # set1 = {1, 3, '太白金星', 4, 'alex', False, '武大'}
      # print(set1)
    • 集合的操作:

      空字典:{}

      空集合:set()


      # 集合的有效性测试
      set1 = {[1,2,3], 3, {'name': 'alex'}}
      print(set1)
      • set1.add('元素')


        set1 = {'太白金星', '景女神',  '武大', '三粗', 'alexsb', '吴老师'}
        set1.add('xx')
        print(set1)
        #{'三粗', '太白金星', 'alexsb', '吴老师', '景女神', 'xx', '武大'}

        set1.update() 迭代追加


        set1 = {'太白金星', '景女神',  '武大', '三粗', 'alexsb', '吴老师'}
        set1.update('dasda')
        print(set1)
        #{'d', 's', '太白金星', 'a', '吴老师', 'alexsb', '景女神', '武大', '三粗'}
      • remove 按照元素删除 set1.remove()


        set1 = {'太白金星', '景女神',  '武大', '三粗', 'alexsb', '吴老师'}
        set1.remove('alexsb')
        print(set1)
        #{'武大', '景女神', '三粗', '太白金星', '吴老师'}

        pop 随机删除 set1.pop()


        set1 = {'太白金星', '景女神',  '武大', '三粗', 'alexsb', '吴老师'}
        set1.pop()
        print(set1)
        #{'alexsb', '武大', '三粗', '景女神', '吴老师'}

        clear清空

      • 改:变相改值

        先删除,再添加


        set1 = {'太白金星', '景女神',  '武大', '三粗', 'alexsb', '吴老师'}
        set1.remove('太白金星')
        set1.add('男神')
        print(set1)
        #{'alexsb', '景女神', '男神', '吴老师', '武大', '三粗'}
    • 数据之间关系测试(***)

      • 交集 (&  或者 intersection)


        set1 = {1, 2, 3, 4, 5}
        set2 = {4, 5, 6, 7, 8}
        print(set1 & set2)
        # {4, 5}
      • 并集 (| 或者 union)


        set1 = {1, 2, 3, 4, 5}
        set2 = {4, 5, 6, 7, 8}
        print(set1 | set2)
        #{1, 2, 3, 4, 5, 6, 7, 8}
      • 差集 (- 或者 difference)


        set1 = {1, 2, 3, 4, 5}
        set2 = {4, 5, 6, 7, 8}
        print(set1 - set2)
        #{1, 2, 3}
      • 反交集 (^ 或者 symmetric_difference)


        set1 = {1, 2, 3, 4, 5}
        set2 = {4, 5, 6, 7, 8}
        print(set1 ^ set2)
        #{1, 2, 3, 6, 7, 8}
      • 子集:<


        set1 = {1,2,3}
        set2 = {1,2,3,4,5,6}
        print(set1 < set2)
        # True
      • 超集:>


        set1 = {1,2,3}
        set2 = {1,2,3,4,5,6}
        print(set2 > set1)
        # True
    • 列表去重(***)


      l1 = [1,'太白', 1, 2, 2, '太白',2, 6, 6, 6, 3, '太白', 4, 5, ]
      set1 = set(l1)
      l1 = list(set1)
      print(l1)
      #[1, '太白', 3, 2, 4, 6, 5]

     

     

  • 相关阅读:
    【react】---react中使用装饰器
    【react】---react中key值的作用
    【react】---react项目中如何使用iconfont
    【react】---redux-actions的基本使用---【巷子】
    linux查看硬件配置
    ssh实现内网穿透
    base_convert()函数探秘及小bug记录
    【转】ASCII码表
    【转载】在C语言中,double、long、unsigned、int、char类型数据所占字节数
    xdebug及phpstorm、vim+dbgpy远程调试配置以及xdebug profile+webgrind笔记
  • 原文地址:https://www.cnblogs.com/yangzm/p/10859757.html
Copyright © 2011-2022 走看看