十六、集合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]

 

 

posted on 2019-05-13 23:32  雨后清明  阅读(171)  评论(0编辑  收藏  举报

导航