Python学习笔记:直接分配列表和复制列表的区别,之,赋值,list,与,拷贝,一份

发表时间:2020-12-25

Python学习笔记之:直接赋值list与拷贝一份list赋值的区别

直接赋值

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也相应发生了改变。

拷贝一份list赋值

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