課程
/后端開發
/Python
/初識Python
為什么是這個結果?這個程序只是對變量L進行了操作,并沒有對 t 或 t[2] 操作??!為什么結果還會改變變量t?!搞不清這什么邏輯!
2016-07-27
源自:初識Python 4-9
正在回答
就像是公司定義的部門是固定不變的 但是內部人員是流動的 當然真個比喻不完全正確 還涉及到list本身內部可變這一重要概念
表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向'a',就不能改成指向'b',指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!理解了“指向不變”后,要創建一個內容也不變的tuple怎么做?那就必須保證tuple的每一個元素本身也不能變。
因為L=t[2],在這里t[2]即表示['A’,'B'],修改前L[0]='A',L[1]='B',重新賦值后t[2]變為['X','Y']
斯蒂芬大夫 提問者
qq_檸檬墨汁_03731878 回復 斯蒂芬大夫 提問者
突然覺得樓主說的好有道理
nemo_wang3687936 回復 斯蒂芬大夫 提問者
斯蒂芬大夫 提問者 回復 nemo_wang3687936
L=t[2] ?修改L 就把t[2]的改了
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-13
就像是公司定義的部門是固定不變的 但是內部人員是流動的 當然真個比喻不完全正確 還涉及到list本身內部可變這一重要概念
2016-07-28
表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向'a',就不能改成指向'b',指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!
理解了“指向不變”后,要創建一個內容也不變的tuple怎么做?那就必須保證tuple的每一個元素本身也不能變。
2016-07-27
因為L=t[2],在這里t[2]即表示['A’,'B'],修改前L[0]='A',L[1]='B',重新賦值后t[2]變為['X','Y']
2016-07-27
突然覺得樓主說的好有道理
2016-07-27
L=t[2] ?修改L 就把t[2]的改了