码迷,mamicode.com
首页 > 编程语言 > 详细

python预科4--深浅拷贝and直接赋值

时间:2018-08-25 11:49:04      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:list   子列   完全   lis   空间   技术分享   一个   影响   pytho   

# 直接赋值,之后变量应用的都是同一个id()地址,后续修改所用饮用也会修改
num1=[1,2,3,4]
num2=num1
print(id(num1))
print(id(num2))
num2[0]=111
print(num1)
print(num2)

技术分享图片

#深拷贝 完全开辟新空间,修改copy后的值,前值不会被影响
import copy
num1=[1,2,3,4]
num2=copy.deepcopy(num1)
print(num1,num2)
print(id(num1))
print(id(num2))
num2[0]=111
print(num1,num2)

技术分享图片

# 浅拷贝  只有当list存在子列表中,它的子列表id()才相同,后续单独修改子列表中的值,初始才会修改
num1=[1,2,3,4,[5,6,7]]
num2=copy.copy(num1)
print(num1,num2)
print(id(num1))
print(id(num2))
print(id(num1[-1]))
print(id(num2[-1]))
num2[-1][0]=[8,9,0]
print(num1)
print(num2)

技术分享图片

python预科4--深浅拷贝and直接赋值

标签:list   子列   完全   lis   空间   技术分享   一个   影响   pytho   

原文地址:https://www.cnblogs.com/godfather520/p/9532989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!