Pyhton新手。今天看教程的時(shí)候?qū)嶒?yàn)了如下代碼:old='abc'old.replace('a','A')printold這里old并沒(méi)有被替換,這個(gè)我可以理解,因?yàn)閞eplace方法返回了一個(gè)新的對(duì)象,old仍指向原對(duì)象。所以打印的仍然是abc替換成:old='abc'new=old.replace('a','A')printnew即可。結(jié)果就是Abc了。但是,又想到了這個(gè)問(wèn)題,代碼如下:stu1='Tom'stu2='John'classMates=[stu1,stu2]printclassMatesstu2='Marry'printclassMates結(jié)果卻是:['Tom','John']['Tom','John']而不是預(yù)期的:['Tom','John']['Tom','Marry']如果再對(duì)list賦值一次:classMates=[stu1,stu2]就可以得到想要的效果。所以想問(wèn)的是list創(chuàng)建的時(shí)候指向的是stu1和stu2的位置么,為什么stu2中的內(nèi)容變了list中的不會(huì)變呢?還是像最開(kāi)始的那個(gè)例子一樣,產(chǎn)生了一個(gè)新的list?現(xiàn)在的classMates沒(méi)有指向更改后的list而是還是指向原來(lái)的list?謝謝!
Python list內(nèi)容的改變問(wèn)題
三國(guó)紛爭(zhēng)
2019-04-14 10:34:44