|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 一池澄澈 于 2021-5-18 12:58 编辑
昨天看了第11讲的题目(如下)之后,感觉了明白了两者的区别
5. 课堂上小甲鱼说可以利用分片完成列表的拷贝 list2 = list1[:],那事实上可不可以直接写成 list2 = list1 更加简洁呢?
今天做第12讲题目时,碰到第一条就晕了,想不明白为啥new没有随着old而改变,哪位能帮我讲解一下,谢谢!
>>> old = [1, 2, 3, 4, 5]
>>> new = old
>>> old = [6]
>>> print(new)
————————————————————————————
补充一下,貌似一开始没问清楚
我是想知道:
为什么对old进行append或者del操作后,new会随着old改变
而进行赋值操作后,就不随着改变了呢?
append这类操作,和“=”这个赋值操作,有些什么区别?
我的理解是:
old指向 列表[1,2,3,4,5]
new = old,所以 new 也指向 列表[1,2,3,4,5]
old 重新指向 列表[6]
new没有改变指向的值,所以没有变
|
|