【Python】Python - 更新Tuple。Python Update Tuples.
【Python】Python - 更新Tuple。Python Update Tuples.
Tuples宣告後是無法修改的; 這表示一旦tuple已經建立後,就無法再修改,新增,或移除items。
但仍然有一些解決方法:
改變Tuple的值
一旦tuple被建立,你就無法改變它的值。Tuples是無法改變的,英文稱為unchangeable, or immutable。
但有其他做法,如轉換為list後,對list修改完畢後再轉回tuple。
範例
以下範例將tuple轉換為list:
x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print(x)
上面輸出: ("apple", "kiwi", "cherry")
增加Items
一旦tuple被建立,則無法再增加items。
範例
無法再增加items到tuple中:
thistuple = ("apple", "banana", "cherry")
thistuple.append("orange") # This will raise an error
print(thistuple)
上面將輸出下面的錯誤訊息:
Traceback (most recent call last):
File "./testTuple.py", line 2, in <module>
AttributeError: 'tuple' object has no attribute 'append'
但如果有新增items的需求,如同上面的做法,可以先轉換為list,新增items在list中,再轉換回Tuple:
範例
轉換tuple為list,並增加一個item "orange",再轉回tuple:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)
上面輸出: ('apple', 'banana', 'cherry', 'orange')
移除Items
Note: 在tuple中你無法移除items。
Tuple是無法修改的,無法刪除items ,但你可以如上面做些加工達到相同效果:
範例
轉換tuple為list,移除 "apple"後再轉換回tuple格式,等同在記憶體中重新宣告並重新建立一個tuple:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple = tuple(y)
上面輸出: ('banana', 'cherry')
或將整個tuple從記憶體中刪除:
範例
del
keyword可以刪除整個tuple:
thistuple = ("apple", "banana", "cherry")
del thistuple
print(thistuple) #this will raise an error because the tuple no longer exists
上面輸出錯誤訊息如下:
Traceback (most recent call last): File "test_tuple_del.py", line 3, in <module> print(thistuple) #this will raise an error because the tuple no longer existsNameError: name 'thistuple' is not defined
留言
張貼留言