zoukankan      html  css  js  c++  java
  • 【python】赋值引用、浅拷贝、深拷贝的使用

    【个人理解】

      赋值后的变量还是指向相同的内存地址,也不算叫变量,相当于原有列表的别名或标签名。

      浅拷贝:浅拷贝只会拷贝原列表最外层(父层),且套的列表指向的内存地址还是和原列表一致。原来的列表操作父层没有关系,操作子层会和原列表一致。

      深拷贝:深拷贝会把父层子层都重新有新的内存地址,原来的列表操作和它没有一丝关系。

    【代码示例】

    # 赋值引用、浅拷贝和深拷贝
    import copy

    list_demo = [1, 2, 3, [5, 6]]
    Assignment = list_demo
    shallow_copy = list_demo.copy()
    deep_copy = copy.deepcopy(list_demo)
    print('原列表%s,赋值后%s, 浅拷贝%s, 深拷贝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
    print('--------------------------------------')
    list_demo.append(88)
    list_demo[3] .append(7)
    print('原列表%s,赋值后%s, 浅拷贝%s, 深拷贝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
    【执行结果】

  • 相关阅读:
    每日算法
    每日算法
    每日算法
    每日算法
    2020 蓝桥杯(省赛)校内模拟赛
    js 时间戳转特定格式的日期
    js正则表达式 replace替换url的参数
    7月/暑假集训总结1
    模板(ac):启发式合并
    [考试反思]0729NOIP模拟测试10
  • 原文地址:https://www.cnblogs.com/ygod323/p/14913656.html
Copyright © 2011-2022 走看看