zoukankan      html  css  js  c++  java
  • 拷贝

    copy(),

    >>> help(copy)

    import copy

    x = copy.copy(y) # make a shallow copy of y 浅拷贝
    x = copy.deepcopy(y) # make a deep copy of y 深拷贝

    >>> import copy
    >>> a = [1, 2, 3, 4, ['a', 'b', 'c']]
    >>> b = a
    >>> c = copy.copy(a)
    >>> d = copy.deepcopy(a)
    >>> id(a)
    49228776
    >>> id(b)
    49228776
    >>> id(c)
    42855920
    >>> id(d)
    48641608

    发现id都改变了,

    对a列表添加操作看看会不会对新拷贝出来的有影响
    对a列表的子列表添加操作看看会不会对新拷贝出来的有影响

    >>> a.append(5)#操作列表
    >>> a[4].append('d')#操作列表中的子列表
    >>> a
    [1, 2, 3, 4, ['a', 'b', 'c', 'd'], 5]
    >>> b
    [1, 2, 3, 4, ['a', 'b', 'c', 'd'], 5]
    >>> c
    [1, 2, 3, 4, ['a', 'b', 'c', 'd']]
    >>> d
    [1, 2, 3, 4, ['a', 'b', 'c']]

    浅拷贝是指拷贝的只是原对象元素的引用,换句话说,浅拷贝产生的对象本身是新的,但是它的内容不是新的,只是对原对象的一个引用

    深拷贝就是完全复制新建的。

    特别注意Python中的数字,字符串,原子类型没拷贝一说。

    只包含‘原子类型’的元祖也不能深拷贝

  • 相关阅读:
    假如
    Find the peace with yourself
    Sep 15th 2018
    Sep 10th 2018
    third party sales process 继续说
    成功设置open live writer
    sublime text2 基本配置及结合Python 环境
    Compmgmtlauncher.exe问题解决方法
    nginx 代理服务器
    vmware之linux不重启添加虚拟硬盘
  • 原文地址:https://www.cnblogs.com/timp/p/3684258.html
Copyright © 2011-2022 走看看