python学习笔记——列表copy

list2=list1

list2指向list1的内存指针,无论list1如何变化,list2都跟随list1变化

执行代码
list1=['a',['1','2','3'],'c','d','e']
list2=list1
print('list1:'+str(list1))
print('list2:'+str(list2))
print('-----------------')
list1[0]='aaa'
print('list1:'+str(list1))
print('list2:'+str(list2))
print('-----------------')
list1[1][1]=['-----']
print('list1:'+str(list1))
print('list2:'+str(list2))
执行结果
list1:['a', ['1', '2', '3'], 'c', 'd', 'e']
list2:['a', ['1', '2', '3'], 'c', 'd', 'e']
-----------------
list1:['aaa', ['1', '2', '3'], 'c', 'd', 'e']
list2:['aaa', ['1', '2', '3'], 'c', 'd', 'e']
-----------------
list1:['aaa', ['1', ['-----'], '3'], 'c', 'd', 'e']
list2:['aaa', ['1', ['-----'], '3'], 'c', 'd', 'e']

list3=list1.copy()

调用copy函数时,list1父列表项变化时,list3不变;list1字列表项变化时,list3变化;

执行代码
list1=['a',['1','2','3'],'c','d','e']
list3=list1.copy()
print('list1:'+str(list1))
print('list3:'+str(list3))
print('-----------------')
list1[0]='aaa'
print('list1:'+str(list1))
print('list3:'+str(list3))
print('-----------------')
list1[1][1]=['-----']
print('list1:'+str(list1))
print('list3:'+str(list3))
print('')
print('*****************')
print('')
执行结果
list1:['a', ['1', '2', '3'], 'c', 'd', 'e']
list3:['a', ['1', '2', '3'], 'c', 'd', 'e']
-----------------
list1:['aaa', ['1', '2', '3'], 'c', 'd', 'e']
list3:['a', ['1', '2', '3'], 'c', 'd', 'e']
-----------------
list1:['aaa', ['1', ['-----'], '3'], 'c', 'd', 'e']
list3:['a', ['1', ['-----'], '3'], 'c', 'd', 'e']

list4=copy.deepcopy(list1)

调用copy模块的deepcopy函数时,无论list1如何变化,list4保持copy时的状态。完全copy

执行代码
list1=['a',['1','2','3'],'c','d','e']
list4=copy.deepcopy(list1)
print('list1:'+str(list1))
print('list4:'+str(list4))
print('-----------------')
list1[0]='aaa'
print('list1:'+str(list1))
print('list4:'+str(list4))
print('-----------------')
list1[1][1]=['-----']
print('list1:'+str(list1))
print('list4:'+str(list4))
print('')
执行结果
list1:['a', ['1', '2', '3'], 'c', 'd', 'e']
list4:['a', ['1', '2', '3'], 'c', 'd', 'e']
-----------------
list1:['aaa', ['1', '2', '3'], 'c', 'd', 'e']
list4:['a', ['1', '2', '3'], 'c', 'd', 'e']
-----------------
list1:['aaa', ['1', ['-----'], '3'], 'c', 'd', 'e']
list4:['a', ['1', '2', '3'], 'c', 'd', 'e']

变量赋值

变量赋值为完全copy

var1=123
var2=var1
print(var1)
print(var2)
var1=456
print(var1)
print(var2)
123
123
456
123
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值