在 Python 中追加元素到一個元組

Rayven Esplanada 2023年1月30日 2020年12月19日
  1. 在 Python 中初始化一個元組
  2. 在 Python 中使用 + 運算子來追加到一個元組中
  3. 在 Python 中執行元組到列表的轉換以追加到元組中
在 Python 中追加元素到一個元組

本教程將演示如何在 Python 中對元組進行追加。

在 Python 中,元組是一種無序的、不可改變的資料型別,用於儲存集合。元組和列表很像,但不同的是元組有一個固定的長度,並且是不可改變的,不像列表是可變的。

在 Python 中初始化一個元組

元組資料型別通過使用括號 () 封裝值來初始化。元組中的值不一定是相同的型別。

my_tuple = ('Jane Doe', 40, 0.05, 'a', [1, 2, 3])

這是一個包含四個不同資料型別值的元組初始化的例子。也支援巢狀的元組。

列表也可以使用內建函式 tuple() 轉換為元組,它可以將任何列表轉換為元組。

my_list = [1, 2, 3, 4, 5]

print (tuple(my_list))

輸出:

(1, 2, 3, 4, 5)

現在已經討論了元組的初始化,我們可以繼續討論如何對一個不可變的元組進行追加。

在 Python 中使用 + 運算子來追加到一個元組中

重申一下,元組資料型別是不可變的,這意味著任何已經初始化的值都不能改變。不可變資料型別的另一個例子是字串。

就像字串一樣,元組值可以通過簡單地將一個新的值連線到現有的值上來改變或附加。它將兩組不同的元組合併成一個,實際上並沒有改變現有的值,保持了資料型別的不可變性。

例如,這裡是兩個獨立的元組。通過連線這兩個元組來初始化第三個變數。

tuple_a = ('a', 'b', 'c')
tuple_b = ('d', 'e', 'f')
tuple_c = tuple_a + tuple_b

print(tuple_c)

輸出:

('a', 'b', 'c', 'd', 'e', 'f')

現在,tuple_c 變數被兩個元組的連線值初始化了。

下面是另一種連線元組的方法。

tuple_a = ('c', 'd', 'f')
tuple_b = ('a', 'b') + tuple_a + ('g', 'h')

print(tuple_b)

輸出:

('a', 'b', 'c', 'd', 'f', 'g', 'h')

按字母順序排列,上面的輸出中缺少了字元 e,而且沒有任何方法可以使用連線法在元組中間插入一個值。

這種方法唯一的缺陷是,在元組中間插入一個值是不可能的,因為你只能在現有元組的開始或結束處進行連線。

在 Python 中執行元組到列表的轉換以追加到元組中

在 Python 中對元組進行追加的一種更靈活方便的方法是將元組轉換為列表。

通過這種方式,可以對值執行內建的列表函式,以便在列表的任何地方進行方便的插入和刪除。在所有的操作之後,就可以將列表轉換回一個不可更改的元組。

下面是一個元組到列表轉換插入新元素的例子。

tuple_val = (11, 52, 67, 142)
list_val = list(tuple_val)

l.insert(1, 20)
print(l)

tuple_val = tuple(list_val)
print(tuple_val)

首先將元組轉換為列表,並使用內建的 insert() 函式在現有值之間插入一個值。之後,列表被轉換回元組。

輸出:

[11, 20, 52, 67, 142]
(11, 20, 52, 67, 142)

將元組轉換為列表,將開啟其他的可能性,使用內建的 sort()remove() 等函式,以及其他可能的列表操作。

總而言之,由於元組的不可更改性,它不能像列表一樣簡單地被修改。對元組進行追加的最廣泛的方法是將元組轉換為一個列表。如果只需要在元組的開始或結束處進行新增,那麼可以使用簡單的連詞+

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

相關文章 - Python Tuple