A = ["hard rock", 10, 1.2]
B = A #直接赋值
print('A:', A)
print('B:', B)
#output:
#A: ['hard rock', 10, 1.2]
#B: ['hard rock', 10, 1.2]
这种赋值情况的底层结构如下
A与B指向的是相同的list地址。此时如果对listA进行修改,显而易见,listB也会被相应修改~
# Examine the copy by reference
print('B[0]:', B[0])
A[0] = "banana"
print('B[0]:', B[0])
# output
/*
B[0]: hard rock
B[0]: banana
*/
可以看出,list B也相应发生了改变。
B = A[:]
B
# output
/*
['banana', 10, 1.2]
*/
B现在就是A修改以后的样子
这种赋值情况的底层结构如下:
A与B指向的是不同的list地址。此时再对list A进行修改,也对不会对list B产生影响~
print('B[0]:', B[0])
A[0] = "hard rock"
print('B[0]:', B[0])
# output
/*
B[0]: banana
B[0]: banana
*/
B在A修改前后没有发生变化。
文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890
Python Free
邮箱:417803890@qq.com
QQ:417803890
皖ICP备19001818号
© 2019 copyright www.pythonf.cn - All rights reserved
微信扫一扫关注公众号:
Python Free