美文网首页
python深浅拷贝

python深浅拷贝

作者: 千年积木 | 来源:发表于2020-12-11 00:04 被阅读0次
####深浅拷贝#####
nums1 = [1,2,3,4,5]
nums2 = nums1  #不是拷贝,是一个指向,是赋值
nums3 = nums1.copy() #浅拷贝,拷贝同样内容,地址不一样,不是同一个对象,浅拷贝只拷贝第一层数据
nums2[0] = 11
print(nums1,nums2,nums3) #[11, 2, 3, 4, 5] [11, 2, 3, 4, 5] [1, 2, 3, 4, 5]
print(id(nums1),id(nums2),id(nums3))#4396862656 4396862656 4396862720

import copy
ww1 = ["hello","good",[11,22,33],"123"]
ww2 = ww1.copy()
print(ww1)#['hello', 'good', [11, 22, 33], '123']
print(ww2)#['hello', 'good', [11, 22, 33], '123']
ww2[0] = 22
print(ww1)#['hello', 'good', [11, 22, 33], '123']
print(ww2)#[22, 'good', [11, 22, 33], '123']

ww1[2][0] = 9999 #浅拷贝只拷贝第一层
print(ww1) #['hello', 'good', [9999, 22, 33], '123']
print(ww2) #[22, 'good', [9999, 22, 33], '123']

#深拷贝只能使用copy模块
#深拷贝 deepcopy
ww3 = copy.deepcopy(ww1)
ww1[2][1] = 1000000
print(ww1)#['hello', 'good', [9999, 1000000, 33], '123']
print(ww3)#['hello', 'good', [9999, 22, 33], '123']

相关文章

  • Python深浅拷贝

    深浅拷贝 首先来个准备知识: list1 = ['我爱你','中国','亲爱的母亲'] list2 = list1...

  • python 深浅拷贝

  • Python深浅拷贝

    在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝...

  • Python深浅拷贝

    预备知识一——python的变量及其存储 在详细的了解python中赋值、copy和deepcopy之前,我们还是...

  • Python深浅拷贝

    导入模块import copy names = ['lilei','hanmei',['lll','rrrr']]...

  • python深浅拷贝

    最近在复习python相关的基础,然后想到了曾经面试遇到过深浅拷贝得问题,我想对于初学者来说,还是很有必要去学习的...

  • python深浅拷贝

  • Python深浅拷贝

    变量赋值 浅拷贝 只复制最顶层的列表

  • python深浅拷贝

    深复制与浅复制:浅复制不会克隆子对象,所以,复制出来的对象和原对象并非完全不相关,根据以下代码大致感觉是复制得到的...

  • python深浅拷贝

    浅拷贝 浅拷贝copy.copy是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝里面的内容。 cop...

网友评论

      本文标题:python深浅拷贝

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