Python Tuple用于存儲不可變python對象的序列。元組類似于列表,因為可以改變列表中存儲的項的值,而元組是不可變的,并且不能改變存儲在元組中的項的值。
元組可以寫成用小括號括起來的逗號分隔值的集合。元組可以定義如下。T1?=?(101,?"Ayush",?22)
T2?=?("Apple",?"Banana",?"Orange")
例1tuple1?=?(10,?20,?30,?40,?50,?60)
print(tuple1)
count?=?0
for?i?in?tuple1:
print("tuple1[%d]?=?%d"%(count,?i));
輸出:(10,20,30,40,50,60)
tuple1?[0]?=?10
tuple1?[0]?=?20
tuple1?[0]?=?30
tuple1?[0]?=?40
tuple1?[0]?=?50
tuple1?[0]?=?60
例2tuple1?=?tuple(input("Enter?the?tuple?elements?..."))
print(tuple1)
count?=?0
for?i?in?tuple1:
print("tuple1[%d]?=?%s"%(count,?i));
輸出:
Enter?the?tuple?elements?...12345
('1',?'2',?'3',?'4',?'5')
tuple1[0]?=?1
tuple1[0]?=?2
tuple1[0]?=?3
tuple1[0]?=?4
tuple1[0]?=?5
但是,如果我們嘗試重新分配元組的項目,元組會報錯誤,因為元組對象不支持項目分配。
元組是不可變數據類型
空元組可以寫成如下。T3?=?()
具有單個值的元組必須包含下面給出的逗號。T4?=?(90,)
元組的索引方式與列表相同。可以使用特定索引值訪問元組中的項。
元組索引和拆分
元組中的索引和切片類似于列表。元組中的索引從0開始并轉到長度(元組) - 1。
可以使用切片運算符訪問元組中的項。Python還允許我們使用冒號運算符來訪問元組中的多個項目。
通過以下圖像以詳細了解索引和切片。
與列表不同,使用del關鍵字無法刪除元組項,因為元組是不可變的。要刪除整個元組,我們可以將del關鍵字與元組名稱一起使用。
請學習以下示例。tuple1?=?(1,?2,?3,?4,?5,?6)
print(tuple1)
del?tuple1[0]
print(tuple1)
del?tuple1
print(tuple1)
輸出:
(1,?2,?3,?4,?5,?6)
Traceback?(most?recent?call?last):
File?"tuple.py",?line?4,?in?
print(tuple1)
NameError:?name?'tuple1'?is?not?defined
與列表一樣,可以在兩個方向上訪問元組元素。可以使用索引-1訪問元組的最右邊元素(最后一個)。使用負索引遍歷從左到右的元素。tuple1?=?(1,?2,?3,?4,?5)
print(tuple1[-1])
print(tuple1[-4])
輸出:
5
2
基本元組操作
連接(+),重復(*),成員(in)等運算符的工作方式與它們使用列表的方式相同。請考慮下表以獲取更多詳細信息。
假設Tuple t =(1,2,3,4,5)和Tuple t1 =(6,7,8,9)。
運算符描述示例
重復重復運算符使元組元素重復多次。T1 * 2 ? =(1,2,3,4,5,1,2,3,4,5)
級聯它連接運算符兩側提到的元組。T1?+?T2???=(1,2,3,4,5,6,7,8,9)
in如果元組中存在特定項,則返回true,否則返回false。print (2 in T1)
True.
迭代for循環用于迭代元組元素。for i in T1:
print(i)
輸出:
1
2
3
4
5
長度它用于獲取元組的長度。len(T1)= 5
Python Tuple內置函數
SN函數描述
1cmp(tuple1, tuple2)比較兩個元組元素。
2len(tuple)計算元組元素個數。
3tuple(seq)將列表轉換為元組。
4min(tuple)返回元組中元素最小值。
5max(tuple)返回元組中元素最大值。
哪里使用元組
在以下場景中使用元組而不是列表。
1.使用元組而不是列表讓我們清楚地知道元組數據是常量且不得更改。
元組可以在沒有鍵的情況下模擬字典。考慮以下嵌套結構,它可以用作字典。
[(101, "John", 22), (102, "Mike", 28),? (103, "Dustin", 30)]
由于其不可變性,元組可以用作字典中的鍵。
列表與元組的對比
SN列表List元組Tuple
1列表的文字語法由[]顯示。元組的文字語法由()顯示。
2列表是可變的。元組是不可變的。
3列表具有可變長度。元組具有固定長度。
4該列表提供了比元組更多的功能。元組提供的功能少于列表。
5列表用于我們需要存儲簡單集合而沒有約束的場景中,其中可以更改項的值。元組用于我們需要存儲只讀集合的情況,即,項目的值不能更改。它可以用作字典中的鍵。
嵌套列表和元組
我們可以將列表中的元組或元組內的列表存儲到任意級別。
讓我們看一個如何將元組存儲在列表中的示例。Employees?=?[(101,?"Ayush",?22),?(102,?"john",?29),?(103,?"james",?45),?(104,?"Ben",?34)]
print("----Printing?list----");
for?i?in?Employees:
print(i)
Employees[0]?=?(110,?"David",22)
print();
print("----Printing?list?after?modification----");
for?i?in?Employees:
print(i)
輸出:----Printing?list----
(101,?'Ayush',?22)
(102,?'john',?29)
(103,?'james',?45)
(104,?'Ben',?34)
----Printing?list?after?modification----
(110,?'David',?22)
(102,?'john',?29)
(103,?'james',?45)
(104,?'Ben',?34)