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