Python中Tuple是一種不可變序列,使用小括弧”()”來定義。Tuple中可以存儲任意類型的數據,包括數字、字元串、列表等等。Tuple擁有列表(List)所有的基本操作,比如切片,索引,迭代操作等。在使用元組時,需要注意它是不可變的,這意味著我們不能直接對元組進行增加、刪除或修改操作。然而,我們可以通過創建一個新的元組來對原有元組進行操作或使用內置函數。
一、Tuple基本操作
1、Tuple的定義:使用小括弧”()”定義一個元組,元素之間使用逗號”,”隔開。
tuple1 = (1,2,3) tuple2 = ('hello','world',123) tuple3 = (True,[1,2,3],'python') print(tuple1) print(tuple2) print(tuple3)
輸出結果:
(1, 2, 3) ('hello', 'world', 123) (True, [1, 2, 3], 'python')
2、Tuple索引和切片:元組支持索引和切片操作,用法與列表相同
tuple1 = (1,2,3,4,5) tuple2 = ('a','b','c','d','e') print(tuple1[0]) print(tuple2[-1]) print(tuple1[2:4]) print(tuple2[:3]) print(tuple1[2:]) print(tuple2[:-2])
輸出結果:
1 e (3, 4) ('a', 'b', 'c') (3, 4, 5) ('a', 'b')
3、Tuple的操作:
由於 Tuple 是不可變數據類型,所以不能使用 append()、insert()、remove()、pop() 等方法進行操作。但我們可以利用以下方法來間接實現:
tuple1 = (1,2,3,4,5) tuple2 = ('a','b','c','d','e') # 通過合併兩個元組來實現新增元素 tuple3 = tuple1 + (6,) print(tuple3) # 元組拆包 a, b, c = tuple2 print(a,b,c) # 利用內置函數實現其他操作 print(len(tuple1)) print(tuple2.count('a')) print(tuple1.index(3))
輸出結果:
(1, 2, 3, 4, 5, 6) a b c 5 1 2
二、Tuple與List的比較
用途的不同:Tuple代表不可改變的有序序列,常常用於表達多個相關值組成的集合; List 的長度可變,可以往其中加入新的元素或從中刪除某個元素,常常用於需要動態操作的數據。
速度的比較:Tuple 是不可變序列,因此其創建和查找速度較 List 更快,但是 List 的迭代速度更快,尤其是當其長度巨大時。
寫作的偏好:在 Python 編程領域中,由於寫起來更方便,所以 List 更為流行。但在使用時,需要根據實際場景選擇使用哪種數據類型。
三、Tuple的應用場景
Tuple 的應用場景很多,如:
1、作為函數返回值,往往使用 Tuple 來容納多個值。 Python 中經常使用接收元組的方式來實現多個返回值。
# 計算並返回一個人的身高、體重以及BMI值 def get_bmi_info(height,weight): bmi = weight / (height/100)**2 # 計算BMI值 return height, weight, bmi # 調用函數 info_tuple = get_bmi_info(170, 60) print(info_tuple) print("身高是 %.2f,體重是 %.2f,BMI指數是 %.2f" % info_tuple)
輸出結果:
(170, 60, 20.76) 身高是 170.00,體重是 60.00,BMI指數是 20.76
2、當你向函數中傳遞許多參數時,使用 Tuple 可以很好地傳遞任意數量的參數。這被稱為「元組打包」。
# 實現元組打包 def calc(*args): res = 0 for num in args: res += num return res # 調用函數 result = calc(1,2,3,4,5) print(result)
輸出結果:
15
3、Tuple在數據科學中常用於搭建無需變化的數據結構,如記錄GPS位置的坐標,用來存儲時間序列,或是存放代表色彩的 RGB 值。
point = (121.47, 31.23) colors = ((255, 255, 255), (0, 0, 0))
4、可以使用 Tuple 存儲和傳遞靜態一致的信息。
# 存儲標準英文字母表的大小和信息 alphabet = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') print(len(alphabet)) print(alphabet[0],alphabet[12],alphabet[24])
輸出結果:
26 a m y
從上述例子中,我們可以了解到 Tuple 的簡便性、速度、安全性與可靠性,同時也為我們提供了一些更為全面的數據類型選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/282709.html