Python入門 數據結構 tuple元組

Python元組(tuple)它和list列表類似,唯一的差別是元組不能修改。tuple元組是有序的,一旦定義了元組我們就不能修改它。

一、定義元組

tuple元組定義使用小括弧(),list列表使用中括弧[].

l = [Google, woodman, 1987, 2017]nt1 = (Google, woodman, 1987, 2017, woodman)nt2 = (1, 2, 3, 4)nt3 = (a, b, c)nt4 = (woodman) # 無逗號nprint(type(t4)) # t4位str類型nt4 = (woodman,) # 當我們定義元組只有一個值時不要忘記後面的逗號nprint(type(t4))nt5 = (woodman, 2017, l, t2) # 元組中可以包含列表和元組nt6 = () # 定義空元組n

注意:元組中可以包含list列表,元組中list列表的值時可變的;定義元組只有一個值時,要在後面加上逗號。

二、訪問元組

元組可以使用下標索引來訪問元組中的值,索引號從0開始。

t = (Google, woodman, 1987, 2017, woodman)

print(t[0]) # 訪問第1個值

print(t[2]) # 訪問第3個值

print(t[-1]) # 訪問倒數第1個值

print(t[5]) # 下標索引號越界會拋出IndexError異常

三、修改元組

tuple元組不可以修改

t1 = (Google, woodman)nt2 = (1987, 2017, woodman)n# 我們可以同過元組相加創建一個新元組nt = t1 + t2nprint(t)nt1[0] = zhihu # 會拋出TypeError異常,元組不可修改n

四、刪除元組

tuple元組中的元素值是不允許刪除,但我們可以使用del語句來刪除整個元組

t = (Google, woodman, 1987, 2017, woodman)ndel tnprint(t) # 元組被刪除,拋出NameError異常n

五、元組切邊

tuple元組可以像list列表一樣進行切片

l = (Google, woodman, 1987, 2017, a, 1, 2, 3)nprint(l[0:2]) # 第1到第2個nprint(l[2:15]) # 2到15個,注意如果結束位超過元組長度不會報錯nn# 通過步長切片nprint(l[0:4:2]) # 每2個數去1個,從第1到第4個n# 輸出 [Google, 1987]nprint(l[2::3]) # 從第3個取,每3個取一個,取到結尾n# 輸出 [1987, 1]nn# 花式用法nprint(l[:3]) # 從開始到tuple第3個元素nprint(l[1:]) # 從第二個到tuple結束nprint(l[:]) # 獲得一個與l相同的tuplenprint(l[-1]) # 取倒數第一個元素nprint(l[::-1]) # tuple倒敘nprint(l[-3:-1]) # 倒數第三個到第二個nprint(l[-4:-1:2]) # 從倒數第4個每2個取一個,到倒數第二個n

六、元組的運算

l1 = (1, 2, 3) + (a, b, c) # 連接nprint(l1)nl2 = (Hello!,) * 4 # 重複複製nprint(l2)nbool1 = a in l1 # 元素是否存在nprint(bool1)n

七、常用函數

len(tuple) 計算元組元素個數

max(tuple) 返回元組中元素最大值

min(tuple) 返回元組中元素最小值

tuple(list) 將列錶轉換為元組

t = (Google, woodman, 1987, 2017, a, 1, 2, 3)nprint(len(t)) # 列表元素個數nt1 = (aA, bss, Ad)nprint(max(t1)) # 返回元組中元素最大值,t1元組值必須是同類型nt2 = (6, 2, 3, 5, 1)nprint(min(t2)) # 返回元組中元素最小值,t2元組值必須是同類型nl = [1987, 2017, a, 1, 2, 3]nprint(tuple(l)) # 將元組轉換為列表n

八、常用方法

t = (Google, woodman, 1987, 2017, a, 1, woodman, a, 1)nprint(t.count(a)) # 統計元素在元組中的個數nprint(t.index(a)) # 返回元素在元組中第一次出現的索引號n

推薦閱讀:

PyQt5系列教程(14):複選框
Fluent Python 筆記(三):高效操作序列
一起來學Python吧
Python學習如何下手?看完本文後你能明白60%
草根學Python(五) 條件語句和循環語句

TAG:Python | Python入门 | Python教程 |