zoukankan      html  css  js  c++  java
  • copy()——python中列表和字典的深拷贝与浅拷贝

           在Python中,把列表,字典对象赋值给变量时,都是“浅拷贝”,即,变量指向了对象,原来的对象改变了,这个变量的值也会跟着变。而cop()函数是“深拷贝”,重新创造一个新对象赋值给变量,原来的对象的改变不影响新对象。搞清楚深拷贝与浅拷贝有利于避免很多错误

      类比C语言中的指针,把d1比作指针,使用’d2=d1‘语句对字典名d1进行浅拷贝就好比只是创建了另外一个指向d1的指针d2,d2和d1指向的都是同一段数据,而使用copy()方法后的’d3 = d1.copy()‘,相当于又重新申请了一段内存用来把d1指向的数据复制过来,个人见解,如果错误了请批评指正

    具体代码示例如下所示:

     1 d1 = {'a':1}
     2 
     3 d2 = d1  # 浅拷贝
     4 d3 = d1.copy()  # 深拷贝
     5 
     6 d1['a'] = 2  # 改变原来的字典
     7 
     8 print('d1=',d1)
     9 print('d2=',d2)
    10 print('d3=',d3)
    11 
    12 
    13 """
    14 输出结果如下:
    15 d1= {'a': 2}
    16 d2= {'a': 2}
    17 d3= {'a': 1}
    18 """
  • 相关阅读:
    114.114.114.114和8.8.8.8
    一台电脑双网卡同时上网
    eNSP模拟器
    路由器UPnP
    子网掩码
    网线水晶头制作
    AP (无线访问接入点(WirelessAccessPoint))
    筛选键
    注册表方法修改网络名称
    图片素材网址
  • 原文地址:https://www.cnblogs.com/wind-under-the-wing/p/11770097.html
Copyright © 2011-2022 走看看