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()
              深度拷贝,把对象内部所有内容全部拷贝一份
              不会产生一个改变,另外一个跟着改变的情况
    作用:快速创建对象,减少内存的占用
    

 


     
  
  
   
   
        
  
 

posted @ 2018-10-26 14:56  阿布_alone  阅读(98)  评论(0编辑  收藏  举报
TOP