zoukankan      html  css  js  c++  java
  • day_07 深浅拷贝

    1. 基础数据类型的补充 
        1字符串的操作:
         1.join 把字符串或者列表的的内拼接,拼接成字符串 和split相反--把字符串转换成列表
         2.删除 字典和列表在循环中是不能进行删除的,可以在循环中把要删除的内容放入一个列表中
                ,再循环新列表,删除老列表.或者就是用pop()从后面往前面删
         3.fromkeys
            dict.fromkeys(iters,value) 把可迭代对象进行迭代,并和后面的value组合成键值对,并返回字典
            坑1:这个过程是新建一个字典并赋值的过程,不会改变原来的字典
             dic={}
             dic.fromkeys(iters,value)
             print(dic)
            坑2:
             d=fromkeys(iters,[])
             生成的新字典的每一个每一个value值都是相同的[],所以不管那个key的value改变都一起改变,因为value值是同一个
    2.set集合{}
        1.特点:
           无序,不重复的,内部元素必须可哈希:内部元素是属于不可变的类型
        2. 作用
           去重:lst=list(set(lst)
        3.增改删查:
           1.增:
             add()
             update("xx")
           2.改:
             set没有索引,所以没办法定位元素,只能删除后再添加
             remove()
             add()
           3.删除
             pop()      随机弹出一个
             remove("") 直接删除元素
             claer()    清空后是set(),因为要和dic区分
            4.查
              因为set是一个可迭代对象,所以可用for循环
              for el in set:
                  print(el)
    3.深浅拷贝
         1.= 赋值,没有产生新对象那个,两个对象指向同一个内存地址,
             所以说,如果源对象发生改变,被赋值的对象也跟着改变
         2.浅拷贝 .copy()  [:]只会拷贝第一层内容,第二层内容不会拷贝
         3.深拷贝 import cocy
                  copy.deepcopy()
                  深度拷贝,把对象内部所有内容全部拷贝一份
                  不会产生一个改变,另外一个跟着改变的情况
        作用:快速创建对象,减少内存的占用
        


         
      
      
       
       
            
      
     

  • 相关阅读:
    iOS 项目中的NSNotification简单使用
    IOS开发之格式化日期时间的使用 && 编程中常见问题
    linker command failed with exit code 1 (use -v to see invocation),经典Xcode编译错误的出现和解决!
    CocoaPods安装和使用教程
    机器学习算法--贝叶斯分类器(二)
    机器学习算法--贝叶斯分类器(一)
    Linux系统初始化过程及运行级别简介
    Linux基本符号
    索引节点inode详解
    Linux文件类型介绍
  • 原文地址:https://www.cnblogs.com/tjp40922/p/9856333.html
Copyright © 2011-2022 走看看