zoukankan      html  css  js  c++  java
  • 深浅copy

    ***补充:

    不可变与可变类型

    不可变类型:改变数值后,相应的内存地址即id也发生改变

    可变类型:改变数值后,相应的内存地址即id不发生改变

     对于 数字,字符串 深浅copy 都无意义 —————— 因为它们的内存地址不可变

     而对于 字典,元组,列表就不一样了

     浅层copy 仅复制外层数据,内层数据地址依旧相同

     而深层copy 外层,内层数据全都复制(即内存地址全都不同),但pyhton对其数字 字符串的优化 不算

    import copy

    key = 123

    key1 = copy.copy(key)  # 浅层copy

    key2 = copy.deepcopy(key) # 深层copy

    以上三种输出的 id()  全都相等 因为 深浅copy 对于 字符串,数字 等不可变对象 无意义

    key = {'tom': 1, 'jack': 2, 'L': [1,2]}

    key1 = copy.copy(key)

    key2 = copu.deepcopy(key)

    以上三种输出的 id('tom') 全都一样 # 因为对于字符串,数字 深浅copy无意义,但是 key 和 key1 的 id('L') 一样 而key2 与前两者对应的 id('L') 不一样 # key2不仅仅copy表层,内层数据也会copy

  • 相关阅读:
    邪恶的强制数据转换
    知识普及
    判断是否为一个数字
    parseInt
    webpack学习记录
    数组隐藏属性
    elasticSearch基本使用
    elasticsearch安装和部署
    neo4j索引
    spark yarn 提交作业
  • 原文地址:https://www.cnblogs.com/christmassa/p/9006335.html
Copyright © 2011-2022 走看看