【廖雪峰python入門筆記】tuple_“元素可變”
前面我們看到了tuple一旦建立就不能修改。現在,我們來看一個“可變”的tuple:
t = ('a', 'b', ['A', 'B'])
注意到 t 有 3 個元素:’a’,’b’和一個list:[‘A’, ‘B’]。list作為一個整體是tuple的第3個元素。list物件可以通過 t[2] 拿到:
L = t[2]
然後,我們把list的兩個元素改一改:
L[0] = 'X'
L[1] = 'Y'
再看看tuple的內容:
print t
('a', 'b', ['X', 'Y'])
不是說tuple一旦定義後就不可變了嗎?怎麼現在又變了?
別急,我們先看看定義的時候tuple包含的3個元素:
當我們把list的元素’A’和’B’修改為’X’和’Y’後,tuple變為:
表面上看,tuple的元素確實變了,但其實變的不是
tuple 的元素,而是list的元素。
tuple一開始指向的list並沒有改成別的list,所以,tuple所謂的“不變”
是說,tuple的每個元素
,指向
永遠不變。即指向’a’,就不能改成指向’b’,指向一個list,就不能改成指向其他物件,但指向的這個list本身是可變的!
理解了“指向不變”後,要建立一個內容也不變的tuple
怎麼做?那就必須保證tuple的每一個元素
本身也不能變。
相關文章
- 【廖雪峰python入門筆記】tuple_建立單元素Python筆記
- 【廖雪峰python入門筆記】tuple_建立Python筆記
- 【廖雪峰python入門筆記】變數Python筆記變數
- 【廖雪峰python入門筆記】list刪除元素_pop()Python筆記
- 【廖雪峰python入門筆記】list_替換元素Python筆記
- 【廖雪峰python入門筆記】dictPython筆記
- 【廖雪峰python入門筆記】setPython筆記
- 【廖雪峰python入門筆記】切片Python筆記
- 【廖雪峰python入門筆記】迭代Python筆記
- 【廖雪峰python入門筆記】list新增元素_append()和insert()Python筆記APP
- 【廖雪峰python入門筆記】函式Python筆記函式
- 【廖雪峰python入門筆記】if語句Python筆記
- 【廖雪峰python入門筆記】for迴圈Python筆記
- 【廖雪峰python入門筆記】列表生成式Python筆記
- 【廖雪峰python入門筆記】list_建立Python筆記
- 【廖雪峰python入門筆記】while迴圈Python筆記While
- 【廖雪峰python入門筆記】break和continuePython筆記
- 【廖雪峰python入門筆記】多重迴圈Python筆記
- 【廖雪峰python入門筆記】字串_轉義字元的使用Python筆記字串字元
- 【廖雪峰python入門筆記】raw 字串和多行字串表示Python筆記字串
- 【廖雪峰python入門筆記】Unicode編碼_UnicodeDecodeError處理Python筆記UnicodeError
- 【廖雪峰python入門筆記】整數和浮點數Python筆記
- 【廖雪峰python入門筆記】list_按照索引訪問Python筆記索引
- 【廖雪峰python入門筆記】list_倒序訪問Python筆記
- 【廖雪峰python入門筆記】布林運算和短路計算Python筆記
- 【廖雪峰python進階筆記】模組Python筆記
- 【廖雪峰python進階筆記】定製類Python筆記
- 【廖雪峰python進階筆記】類的繼承Python筆記繼承
- 20190228 學習筆記——廖雪峰 git筆記Git
- 【廖雪峰python進階筆記】物件導向程式設計Python筆記物件程式設計
- 【廖雪峰python進階筆記】函數語言程式設計Python筆記函數程式設計
- 跟著廖雪峰學python 005Python
- 廖雪峰Git學習筆記1-Git簡介Git筆記
- Python廖雪峰13個案例講解分析帶你全面入門人工智慧Python人工智慧
- Python入門筆記Python筆記
- Python 入門筆記Python筆記
- python入門筆記1Python筆記
- Python基礎入門筆記(二)Python筆記