變量在tuple中為什么不可以改變?
p = "hello,world" L = (1,2,3,p,[1,2]) print L[1],L[3],L[4] p = "fuck world" t = L[4] t[0] = 3 t[1] = 4 print L[1],L[3],L[4] 請問P作為一個變量為什么第二次打印卻沒有改變?tuple里的可以改變的只有list么?
請問如上代碼中tuple中存儲的變量P是只存儲值還是存儲的一個變量地址?
p = "hello,world" L = (1,2,3,p,[1,2]) print L[1],L[3],L[4] p = "fuck world" t = L[4] t[0] = 3 t[1] = 4 print L[1],L[3],L[4] 請問P作為一個變量為什么第二次打印卻沒有改變?tuple里的可以改變的只有list么?
請問如上代碼中tuple中存儲的變量P是只存儲值還是存儲的一個變量地址?
2017-06-16
舉報
2017-06-16
在python中,好像int、str、tuple都是不可變類型,dict、list是可變的
2017-06-16
這個是數據結構的問題。P作為tuple中的直接元素應該是不能夠被修改的。根據你的輸出結果,P在tuple中存儲的應該不是變了地址而是一個值。
2017-06-16
是的,在tuple里,就只有list里的可以改變。