天天看點

1-8 Python 元組

Python 的元組與清單類似,不同之處在于元組的元素不能修改。

元組使用小括号,清單使用方括号。

元組建立很簡單,隻需要在括号中添加元素,并使用逗号隔開即可。

>>>tup1 = ('Google', 'Runoob', 1997, 2000);
>>> tup2 = (1, 2, 3, 4, 5 );
>>> tup3 = "a", "b", "c", "d";   #  不需要括号也可以
>>> type(tup3)
<class 'tuple'>
           

建立空元組

tup1 = ();
           

元組中隻包含一個元素時,需要在元素後面添加逗号,否則括号會被當作運算符使用:

>>>tup1 = (50)
>>> type(tup1)     # 不加逗号,類型為整型
<class 'int'>
 
>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,類型為元組
<class 'tuple'>
           

元組與字元串類似,下标索引從0開始,可以進行截取,組合等。

通路元組

元組可以使用下标索引來通路元組中的值,如下執行個體:

#!/usr/bin/python3
 
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
 
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
           

以上執行個體輸出結果:

tup1[0]:  Google
tup2[1:5]:  (2, 3, 4, 5)
           

修改元組

元組中的元素值是不允許修改的,但我們可以對元組進行連接配接組合,如下執行個體:

#!/usr/bin/python3
 
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')
 
# 以下修改元組元素操作是非法的。
# tup1[0] = 100
 
# 建立一個新的元組
tup3 = tup1 + tup2;
print (tup3)
           

以上執行個體輸出結果:

(12, 34.56, 'abc', 'xyz')
           

删除元組

元組中的元素值是不允許删除的,但我們可以使用del語句來删除整個元組,如下執行個體:

#!/usr/bin/python3
 
tup = ('Google', 'Runoob', 1997, 2000)
 
print (tup)
del tup;
print ("删除後的元組 tup : ")
print (tup)
           

以上執行個體元組被删除後,輸出變量會有異常資訊,輸出如下所示:

删除後的元組 tup : 
Traceback (most recent call last):
  File "test.py", line 8, 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,) 1 2 3 疊代

元組索引,截取

因為元組也是一個序列,是以我們可以通路元組中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元組:

L = ('Google', 'Taobao', 'Runoob')
           
Python 表達式 結果 描述
L[2] 'Runoob' 讀取第三個元素
L[-2] 'Taobao' 反向讀取;讀取倒數第二個元素
L[1:] ('Taobao', 'Runoob') 截取元素,從第二個開始後的所有元素。

運作執行個體如下:

>>> L = ('Google', 'Taobao', 'Runoob')
>>> L[2]
'Runoob'
>>> L[-2]
'Taobao'
>>> L[1:]
('Taobao', 'Runoob')
           

元組内置函數

Python元組包含了以下内置函數

序号 方法及描述 執行個體
1

len(tuple)

計算元組元素個數。

>>> tuple1 = ('Google', 'Runoob', 'Taobao')
>>> len(tuple1)
3
>>> 
           
2

max(tuple)

傳回元組中元素最大值。

>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>> 
           
3

min(tuple)

傳回元組中元素最小值。

>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>> 
           
4

tuple(seq)

将清單轉換為元組。

>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')