python列表引用问题求助
1:>>> old=2:>>> new=old
3:>>> new
4:
5:>>> old.reverse()
6:>>> old
7:
8:>>> new
9:
10:>>> old=
11:>>> old
12:
13:>>> new
14:
#old和new 到底是什么关系?1-9行能用reverse改变old排序,new排序跟着变,给old重新定义列表时为何new不跟着变? python中变量名只是标签而已,可以多个标签指向同一块内存
new=old
意味着new和old这两个标签指向了同一块内存
所以你对new和old指向的数据进行改动,比如列表的pop,sort,reverse等操作都会对两者同时产生作用,因为他们修改了内存中的数据
而你将old重新赋值,意味着old标签指向两位一块内存,从此old和new再无瓜葛 谢谢
页:
[1]