Python3元組


元組是不可變的Python物件的序列。元組序列就像列表。元組和列表之間的區別是,元組不像列表那樣不能被改變以及元組使用圓括號,而列表使用方括號。

建立一個元組是將不同的逗號分隔值。也可以選擇把這些逗號分隔值也括號內。例如 -

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
空元組寫成不含任何值的兩個空括號 -
tup1 = (); 

為了編寫含有一個單一的值,必須包含逗號,即使只有一個值的元組 ?

tup1 = (50,)
類字串索引,元組索引從0開始,並且它們可以被切片,聯接等等。

存取元組的組:

要存取值元組,用方括號帶索引或索引切片來獲得可用的索引值。例如 -
#!/usr/bin/python3

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
當執行上面的程式碼,它產生以下結果 -
tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

更新元組

元組是不可變的,這意味著我們不可以更新或更改元組元素的值。如下面的例子說明了可以把現有的元組建立新的元組的部分 -

#!/usr/bin/python3

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2
print (tup3)
當執行上面的程式碼,它產生以下結果 -
(12, 34.56, 'abc', 'xyz')

刪除元組元素

移除個元組的別元素是不可能的。還有就是,當然無可厚非組建另一元組來排放的不需要的元素。

如要明確刪除整個元組,只需要用 del 語句。 例如:
#!/usr/bin/python3

tup = ('physics', 'chemistry', 1997, 2000);

print (tup)
del tup;
print "After deleting tup : "
print tup 

這將產生以下結果。注意引發異常,這是因為經過 del tup 元組就不再存在了-

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    print tup;
NameError: name 'tup' is not defined

元組基本操作

元組響應 + 和 * 操作就像字串; 它們意味著串聯和重複這裡也一樣,所不同的是,結果是一個新的元組,而不是字串。

事實上,元組應對各種操作,我們在先前章字串中使用順序類似 -
Python表示式 結果 描述
len((1, 2, 3)) 3 長度
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6)
拼接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 重複
3 in (1, 2, 3) True 成員關係
for x in (1,2,3) : print (x, end=' ') 1 2 3
疊代

索引,切片和矩陣

由於元組是序列,索引和切片的工作方式與字串所做的操作相同。假設以下的輸入 -

T=('C++', 'Java', 'Python')

 

Python表示式 結果 描述
T[2] 'Python'
偏移從零開始
T[-2] 'Java'
負值:從右邊計數
T[1:] ('Java', 'Python')
切片取部分

無封裝元素

任何一組多個物件,以逗號分隔,不寫符號標識,即 對列表使用括號,元組使用小括號等,預設為元組,簡短範例說明如下-

內建元組函式

Python包括以下元組函式 -

SN
函式與描述
1

cmp(tuple1, tuple2)


比較兩個元組的元素
2

len(tuple)


計算元組的總長度
3

max(tuple)


從元組中返回專案的最大值
4

min(tuple)


從元組中返回專案的最小值
5

tuple(seq)


轉換列表到元組