|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问这一段代码为什么new会打印成[1,2,3,4,5]呢,没有拷贝old的分片啊,new不是指向old的吗,old变了new不是应该跟着变吗/(ㄒoㄒ)/~~
- old = [1, 2, 3, 4, 5]
- >>> new = old
- >>> old = [6]
- >>> print(new)
- [1, 2, 3, 4, 5]
复制代码
你理解错了,old 还没重新赋值时, old 和 new 都指向列表 [1, 2, 3, 4, 5]
而后来 old 重新赋值,那么就是 old 指向新的列表 [6] ,而 new 自然不变
要理解,变量名实际上只是给你的数据贴上标签,比如:
这里 old = [1, 2, 3, 4, 5] 然后 new = old 都是为列表 [1, 2, 3, 4, 5] 贴上标签
此时相当于列表 [1, 2, 3, 4, 5] 有两个别名 一个是 new、一个是 old
详细可以看看这里:https://fishc.com.cn/thread-185134-1-1.html
|
|