13.1 添加元素
元組是不可變物件。一旦創建了元組,它就無法更改。但經常即使無法更改物件,我們也可能需要它的修改版本。
這點在 str
類中已被實現——它有兩打方法不會更改原始的 str
物件,但會返回與所調用方法的本質相符的新字串。
Python 的開發者本可以為 tuple
類添加一些返回新物件的方法,當你嘗試更改元組時使用。但是他們沒有這樣做。
可能是為了不讓我們混淆,或者其他原因。
所以所有對元組的更改都是這樣完成的:
list = list(tuple)
改變 list 在這裡
tuple2 = tuple(list)
append()
:
比如說,你想往元組裡添加一個元素,這可能會是這樣的:
my_tuple = (1, 2, 3)
my_list = list(my_tuple)
my_list.append(4) # 添加元素到列表
my_new_tuple = tuple(my_list)
添加一組元素 —— 方法 extend()
:
方法 extend()
可以一次添加多個元素到列表中。這個方法接受一個可迭代物件作為參數(比如,其他列表、元組、集合):
my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list.extend((5, 6)) # 添加元素到列表
my_new_tuple = tuple(my_list)
插入到中間 —— 方法 insert()
方法 insert()
將元素添加到列表中的指定位置。這個方法接受兩個參數:元素的位置索引和元素本身:
my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list.insert(0, 0) # 添加 0 到列表的起始
my_new_tuple = tuple(my_list)
13.2 更改元素
如果你需要更改元組中的某個元素,繼續按照這個方案來:
list = list(tuple)
# 改變 list 在這裡
tuple2 = tuple(list)
讓我們將元組的第一個值賦予最後一個值,反之亦然。這是我們需要的程式碼:
my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list[0], my_list[-1] = my_list[-1], my_list[0] # 交換值
my_new_tuple = tuple(my_list)
print(my_new_tuple) # (4, 2, 3, 1)
13.3 刪除元素
從元組中刪除元素的方式相同。
讓我們來看個例子,當我們想要從元組中刪除某個特定值:
atuple = ("apple", "banana", "cherry")
alist = list(atuple)
alist.remove("apple")
atuple = tuple(alist)
print(atuple) # ('banana', 'cherry')
注意最後我們將新創建的元組賦予變量,這原本是指向原始的 tuple
。這是一種方法,但原始的 tuple
不會因此更改。如果程式中有某段代碼之前引用過它,這段代碼將繼續指向原始的 tuple
。
現在讓我們從元組中刪除最後一個元素。
程式碼如下所示:
atuple = ("apple", "banana", "cherry")
alist = list(atuple)
alist.pop() # 刪除最後一個元素
atuple = tuple(alist)
print(atuple) # ('apple', 'banana')
我想你已經懂了。不能從元組中刪除元素,但如果真的很想,那就可以這樣做 😊
GO TO FULL VERSION