zoukankan      html  css  js  c++  java
  • 关于python深拷贝和浅拷贝的问题

     1 import copy
     2 #names = "jessie jack serena sally eden"
     3 names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"]
     4 name2 = copy.copy(names)
     5 print(names)
     6 print(name2)
     7 names[2] = "小敏"
     8 names[3][0] = "JEESSIE"
     9 print(names)
    10 print(name2)

    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['JEESSIE', 'saily'], 'edeen']

    比如说房间里有小明和小丽,小美知道这个信息后呢,就去这个房间(指针)了,这样,这个房间是不是有三个人了?

    浅拷贝:就是把这个指针赋值一个变量,如果你对这个变量做操作,这条记录也会随之变化。

    #edit for Kris_ma
    import copy
    #names = "jessie jack serena sally eden"
    names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"]
    name2 = copy.deepcopy(names)
    print(names)
    print(name2)
    names[2] = "小敏"
    names[3][0] = "JEESSIE"
    print(names)
    print(name2)

    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']

    深拷贝就像 泰国效仿美国的制度,把美国那套政权完全照搬过来,在自己国内实行,直到某一天,泰国发现一些列的问题,就发生了动乱。这样美国会因为这套制度发生动乱吗?所以深拷贝就是把这条记录完全复制给一个全新的变量,这样无论怎么操作这个新的变量,对其之前的不会有任何影响。

  • 相关阅读:
    Mybatis批量插入
    easyui中datagrid常见功能
    mysql下载和安装方式
    Mybatis注意事项
    ol3对地图上某些特定的经纬度进行标注
    ol3开发离线地图
    java利用poi生成excel文件后下载本地
    log4j的基本使用方法
    tomcat8.5之后版本,远程无法登录管理页面
    但构造函数返回对象时
  • 原文地址:https://www.cnblogs.com/wuxiaoshi/p/9722445.html
Copyright © 2011-2022 走看看