• set集合


    1、set(集合)属性,无序,不重复序列(也可用于去重)
      li = [11,222]
      print(li)
        列表的创建
        li = [] 空列表
        list((11,22,33,4)) 元组转换为列表
          列表原理: list __init__,内部执行for循环(11,22,33,4) [11,22,33,4]
        字典:
        dic = {"k1":123}
      集合:
        se = {"123", "456"}
        s = set()    创建空集合
      li = [11,22,11,22]
      s1 = set(li) 转换为集合
      print(s1)
    2、集合的功能
      set()
      创建集合
      s1 = {11,22}
      s2 = set()
      s3 = set([11,22,33,4])

      操作集合
        s = set() 定义一个空集合
        print(s)
        s.add(123) 给集合添加一个元素,每次只能添加一个元素
        s.add(123) 不重复,再次添加同一个元素无效
        print(s)
        s.clear() 清空集合
        print(s)

        s1 = {11,22,33}
        s2 = {22,33,44}
        s3 = s1.difference(s2) s1中存在,s2中不存在 
        s3 = s2.difference(s1) s2中存在,s1中不存在
        s3 = s1.symmetric_difference(s2)  s1中存在,s2中不存在和s2中存在,s1中不存在的元素,返回一个集合       
            print(s1,s2,s3)
        s1.difference_update(s2) 将s1中存在的,s2中不存在的更新到s1,此时s1为{11},若以后用不到s1可使用此方法
        s1.symmetric_difference_update(s2)    s1中存在,s2中不存在和s2中存在,s1中不存在的元素,返回一个集合,此时s1为{11,44} 若以后用不到s1可使用此方法

        s1 = {11,22,33}
        s1.discard(1111) 删除集合任一元素,存在则删除,不存在,不报错
        s1.remove(11111) 删除集合任一元素,存在则删除,不存在,报错
        ret = s1.pop()  删除集合任一元素(随机删除),不建议使用
          print(s1)
          print(ret)

          s1 = {11,22,33}
          s2 = {22,33,44}
        s3 = s1.union(s2) s1和s2的并集
          print(s3)
        s3 = s1.intersection(s2) s1和s2的交集
        s1.intersection_update(s2) s1和s2的交集,更新到s1,此时s1为{22,33},这是一个动作不可直接打印
          print(s1)

        s1 = {11,22,33}
          s1.add(11)集合不变
          s1.add(12)不变
          s1.add(13)不变
        li = [11,22,3,11,2]
        li = (11,22,3,11,2)
        li = "alexalex"
        s1.update(li)
        print(s1)
          上面分别列表,元组,字符串的执行结果
            {33, 2, 11, 3, 22}
            {33, 2, 11, 3, 22}
            {33, 'x', 11, 'e', 'l', 'a', 22}

    # li = [11,22,33] # list __init__
    # li() # list __call__
    # li[0] # list __getitem__
    # li[0] = 123 # list __setitem__
    # def li[1] # list __delitem__
    old_dict = {
    "#1": 8,
    "#2": 4,
    "#4": 2,
    }

    new_dict = {
    "#1": 4,
    "#2": 4,
    "#3": 2,
    }
    # old_kyes = old_dict.keys()
    # old_set = set(old_kyes)
    new_set = set(new_dict.keys())
    old_set = set(old_dict.keys())

    remove_set = old_set.difference(new_set)
    add_set = new_set.difference(old_set)
    update_set = old_set.intersection(new_set)
  • 相关阅读:
    SqlServer查询优化方法
    关于导入excel问题
    修改SQL数据库中表字段类型时,报“一个或多个对象访问此列”错误的解决方法
    软件架构之我见
    算法-插入排序
    算法-快速排序
    WCF系列 Restful WCF
    WCF系列 基础概念
    cocos2dx-是男人就坚持20s 练手项目
    nodejs 聊天室简单实现
  • 原文地址:https://www.cnblogs.com/zhaozhenguo666/p/5519107.html
Copyright © 2020-2023  润新知