更改元組

Python SELF TW
等級 8 , 課堂 4
開放

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')

        

我想你已經懂了。不能從元組中刪除元素,但如果真的很想,那就可以這樣做 😊

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION