美文网首页
python浅拷贝和深拷贝

python浅拷贝和深拷贝

作者: bad_boy | 来源:发表于2018-01-07 23:32 被阅读10次

    浅拷贝:就是对引用的拷贝(只拷贝父对象)

    深拷贝:就是对对象资源的拷贝

    浅拷贝把父对象拷贝出来,而其中的数据用的是同一个地址空间。

    深拷贝,把对象独立开来,有独立的存储空间和数据和原来的对象没有关系。

    所谓浅复制,是指生成一个新的列表,并且把原列表中所有元素的引用都复制到新列表中。如果原列表中只包含整数、实数等基本类型或元组、字符串这样的不可变类型的数据,一般是没有问题的。如果原列表中包含列表之类的可变数据类型,由于浅复制时只是把子列表的引用复制到新列表中,这样的话修改任何一个都会影响另外一个。

    #python3.5

    import copy

    a = [1, 2, 3, [1, 2, "c"], 4]

    b = a

    c = copy.copy(a)

    d = copy.deepcopy(a)

    import copy

    a = [1, 2, 3, 226, 4]

    b = a

    c = copy.copy(a)

    d = copy.deepcopy(a)

    参考:《python可以这样学》以及其他资源

    相关文章

      网友评论

          本文标题:python浅拷贝和深拷贝

          本文链接:https://www.haomeiwen.com/subject/cfhvnxtx.html