本文參考:
Python 中的數據結構是通過某種方式組織在一起的數據元素的集合,這些數據元素可以是數字、字符、甚至可以是其他數據結構 在 Python 中,最基本的數據結構是序列(列表和元組),序列中的每個元素都有一個序號(元素的具體位置),這個序號叫索引,索引下標從 0 開始,以此類推……
- Python 的元組與列表類似,不同之處在於元組的元素不能修改。
- 元組使用小括號(),列表使用方括號[]。
1. 元組基本操作
1.1 創建元組
元組創建很簡單,只需要在括號中添加元素(不需要括號也可以),並使用逗號隔開即可。
tup1 = ('baidu', 'google', 12, 34)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"
# 創建空元組
tup4 = ()
# 查看tup3和tup4的類型
print(type(tup3)) # 輸出 <class 'tuple'>
print(type(tup4)) # 輸出 <class 'tuple'>
==注意:== 元組中只包含一個元素時,需要在元素后面添加逗號,否則括號會被當作運算符使用,如下:
TupNum = (34)
# 不加逗號是整型
print(type(TupNum)) # 輸出 <class 'int'>
TupNum = (34,)
# 加上逗號變元組
print(type(TupNum)) # 輸出 <class 'tuple'>
元組與字符串類似,下標索引從 0 開始,可以對元組進行截取,組合等操作。
1.2 訪問元組
元組的訪問和序列訪問元素一樣,都是通過下標索引進行訪問操作
tup1 = ('baidu', 'google', 1, 2)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print(tup1[0:2]) # 輸出('baidu', 'google')
print(tup2[1:4]) # 輸出 (2, 3, 4)
1.3 修改元組
元組中的值一旦定義就不能修改,但是我們可以通過元組與元組之間的連接關系來對元組進行修改,例如:
tup1 = ('baidu', 'google', 1, 2)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print(tup1 + tup2) # 輸出 ('baidu', 'google', 1, 2, 1, 2, 3, 4, 5, 6, 7)
==注意:== 以下修改元組屬於非法操作,因為元組不支持通過索引列來修改,只能對元組進行復制和連接操作
==tup1[0] = 100== (不能進行此操作)
1.4 刪除元組
由於元組的不可修改性,所以元組中的元素值是不允許刪除的,但我們可以使用 del 語句來刪除整個元組,如下實例:
tup = ('baidu', 'google', 1, 2)
print(tup) # 輸出 ('baidu', 'google', 1, 2)
del tup
print("刪除后的元組 tup : ")
print(tup)
# 報錯信息如下,證明整個元組已經被刪除
Traceback (most recent call last):
File "main1.py", line 7, in <module>
print(tup)
NameError: name 'tup' is not defined
2 元組運算符
與字符串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味着他們可以組合和復制,運算后會生成一個新的元組。總而言之對整個元組進行一些運算后就會生成一個新的元組。
2.1 元組求長度
元組求長度使用運算函數 len ,如下
tup1 = ('baidu', 'google', 1, 2)
# 求元組tup1的長度
print(len(tup1)) # 輸出 3
2.2 連接元組
兩個甚至對個元組的連接使用 + 連接符,例如:
tup1 = (1, 2, 3)
tup2 = (4, 5, 6)
tup3 = (7, 8, 9)
print(tup1 + tup2 + tup3) # 輸出 (1, 2, 3, 4, 5, 6, 7, 8, 9)
2.3 復制元組
tup1 = ('abc')
# 元組復制需要加上分隔符后面復制的內容就按照分隔符分隔開
print((tup1,) * 3) # 輸出 ('abc', 'abc', 'abc')
2.4 判斷元素
判斷元組中元素是否存在使用關鍵字 in 進行判斷,判斷結果返回布爾值
tup1 = 'abc'
print('a' in tup1) # 輸出True
print('d' in tup1) # 輸出False
2.5 元組中指定位置元素訪問
和序列一樣,元組中的元素同樣可以使用索引號訪問指定位置的元素,例如:
content = ('hello', 'world', '!')
print(content) # 輸出 ('hello', 'world', '!')
print(content[1:]) # 輸出('world', '!')
print(content[:2]) # 輸出('hello', 'world')
print(content[-1]) # 輸出!
print(content[-2]) # 輸出world
3 元組內置函數
和列表一樣,元組同樣也擁有一些內置函數,這些函數用於判元組中的元素大小以及將元組做相應的轉換
tp = (1, 2, 3, 4, 5, 6, 7, 8)
# 計算元組元素個數。
print(len(tp)) # 輸出 8
# 返回元組中元素最大值。
print(max(tp)) # 輸出 8
# 返回元組中元素最小值。
print(min(tp)) # 輸出 1
# 將列表轉換為元組。
seq = [5, 4, 3, 2, 1]
print(seq) # 輸出 [5, 4, 3, 2, 1]
print(type(seq)) # 輸出<class 'list'>
tpseq = tuple(seq)
print(tpseq) # 輸出 (5, 4, 3, 2, 1)
print(type(tpseq)) # 輸出 <class 'tuple'>