元組就像一系列不可變Python對(duì)象的列表。列表和元組之間的區(qū)別在于列表在方括號(hào)中聲明扔字,可以并且在括號(hào)中聲明元型態(tài)組時(shí)更改囊嘉,并且無法更改。但是革为,您可以使用現(xiàn)有元組的一部分來創(chuàng)建新元組扭粱。
元組語法
Tup =('Jan','feb'震檩,'march')
要寫一個(gè)空元組琢蛤,你需要寫成兩個(gè)不包含任何內(nèi)容的括號(hào) -
tup1 =();
要為單個(gè)值編寫元組,您需要包含逗號(hào)抛虏,即使只有一個(gè)值博其。最后,您還需要編寫分號(hào)迂猴,如下所示慕淡。
Tup1 =(50,);
元組索引從0開始错忱,它們可以連接儡率,切片等等。
在本教程中以清,我們將學(xué)習(xí) -
包裝和拆包
比較元組
使用元組作為詞典中的鍵
刪除元組
切片的元組
帶有元組的內(nèi)置功能
元組優(yōu)于列表的優(yōu)點(diǎn)
元組分配
Python具有元組賦值功能,使您可以一次分配多個(gè)變量崎逃。在這里掷倔,我們已經(jīng)為元組1分配了姓名,姓氏个绍,出生年份等人員信息以及另一個(gè)元組2勒葱,其中的值如數(shù)字(1 ,2,3巴柿,...凛虽,7)。
例如广恢,
(姓名凯旋,出生年份,最喜歡的電影和年份,專業(yè)至非,出生地)=羅伯特
這是代碼钠署,
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print(tup1[0])
print(tup2[1:4])
元組1包括羅伯特的信息列表
元組2包括其中的數(shù)字列表
我們?cè)谠M中調(diào)用[0]的值,對(duì)于元組2荒椭,我們將值調(diào)用在1和4之間
運(yùn)行代碼 - 它為第一個(gè)元組命名為Robert谐鼎,而為第二個(gè)元組提供數(shù)字(2,3和4)
在打包時(shí),我們將值放入新元組中趣惠,而在解包時(shí)狸棍,我們將這些值提取回變量。
x = ("Guru99", 20, "Education")? ? # tuple packing
(company, emp, profile) = x? ? # tuple unpacking
print(company)
print(emp)
print(profile)
Python中的比較運(yùn)算符可以使用元組味悄。
比較從每個(gè)元組的第一個(gè)元素開始隔缀。如果它們不與=,<或>進(jìn)行比較傍菇,那么它將繼續(xù)進(jìn)行第二個(gè)元素猾瘸,依此類推。
它首先比較每個(gè)元組的第一個(gè)元素
讓我們用一個(gè)例子研究這個(gè) -
#情況1
a=(5,6)
b=(1,4)
if (a>b):print("a is bigger")
else: print("b is bigger")
#case 2
a=(5,6)
b=(5,4)
if (a>b):print("a is bigger")
else: print ("b is bigger")
#case 3
a=(5,6)
b=(6,4)
if (a>b):print("a is bigger")
else: print("b is bigger")
案例1:比較從每個(gè)元組的第一個(gè)元素開始丢习。在這種情況下牵触,5> 1,因此輸出更大
情況2:比較從每個(gè)元組的第一個(gè)元素開始咐低。在這種情況下揽思,5> 5是不確定的。所以它進(jìn)入下一個(gè)元素.6> 4见擦,所以輸出更大
案例3:比較從每個(gè)元組的第一個(gè)元素開始钉汗。在這種情況下,5> 6這是假的鲤屡。所以它進(jìn)入了其他循環(huán)打印“b更大”损痰。
由于元組是可清除的,而列表不是酒来,如果我們需要?jiǎng)?chuàng)建一個(gè)在字典中使用的復(fù)合鍵卢未,我們必須使用元組作為鍵。
示例:如果我們需要?jiǎng)?chuàng)建映射堰汉,名字辽社,姓氏,電話號(hào)碼對(duì)等的電話簿翘鸭,我們會(huì)遇到一個(gè)復(fù)合密鑰假設(shè)我們已將變量聲明為最后一個(gè)和第一個(gè)數(shù)字滴铅,我們可以寫一個(gè)字典賦值語句,如下所示:
directory[last,first] = number
在括號(hào)內(nèi)就乓,表達(dá)式是一個(gè)元組汉匙。我們可以在對(duì)循環(huán)中使用元組賦值來導(dǎo)航這個(gè)字典拱烁。
for last, first in directory:
print first, last, directory[last, first]
此循環(huán)導(dǎo)航目錄中的鍵,這些鍵是元組盹兢。它將每個(gè)元組的元素分配到最后和第一邻梆,然后打印名稱和相應(yīng)的電話號(hào)碼。
元組和字典
字典可以通過調(diào)用項(xiàng)目返回元組列表绎秒,其中每個(gè)元組都是一個(gè)鍵值對(duì)浦妄。
a = {'x':100, 'y':200}
b = list(a.items())
print(b)
元組是不可變的,不能刪除见芹,但使用關(guān)鍵字“DEL”可以完全刪除元組剂娄。
要從元組或列表中獲取特定的子元素集,我們使用這個(gè)稱為切片的獨(dú)特函數(shù)玄呛。切片不僅適用于元組阅懦,也適用于數(shù)組和列表。
x = ("a", "b","c", "d", "e")
print(x[2:4])
此代碼的輸出將為( 'C'徘铝, 'd')耳胎。
以上是所有上述示例的Python 2代碼? ? ? ? ? ? ? ?視頻,資料分享交流Q群519970686
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print? tup1[0]
print? tup2[1:4]
#Packing and Unpacking
x = ("Guru99", 20, "Education")? ? # tuple packing
(company, emp, profile) = x? ? # tuple unpacking
print company
print emp
print profile
#Comparing tuples
#case 1
a=(5,6)
b=(1,4)
if (a>b):print "a is bigger"
else: print "b is bigger"
#case 2
a=(5,6)
b=(5,4)
if (a>b):print "a is bigger"
else: print "b is bigger"
#case 3
a=(5,6)
b=(6,4)
if (a>b):print "a is bigger"
else: print "b is bigger"
#Tuples and dictionary
a = {'x':100, 'y':200}
b = a.items()
print b
#Slicing of Tuple
x = ("a", "b","c", "d", "e")
print x[2:4]
為了執(zhí)行不同的任務(wù)惕它,元組允許你使用許多內(nèi)置函數(shù)怕午,如所有(),任何()淹魄,枚舉()郁惜,MAX(),MIN()甲锡,分類()兆蕉,LEN(),元組()等缤沦。
迭代通過元組比使用列表更快虎韵,因?yàn)樵M是不可變的。
由不可變?cè)亟M成的元組可以用作字典的鍵疚俱,這對(duì)于列表是不可能的
如果您有不可變的數(shù)據(jù)劝术,將其實(shí)現(xiàn)為元組將保證它仍然是寫保護(hù)的
摘要:
Python的具有元組賦值功能,使您可以一次分配多個(gè)變量呆奕。
包裝和拆包元組
在打包時(shí),我們將值放入新元組中衬吆,而在解包時(shí)梁钾,我們將這些值提取回變量。
Python中的比較運(yùn)算符可以使用元組逊抡。
使用元組作為詞典中的鍵
元組是可以清洗的姆泻,而列表則不是
如果我們需要?jiǎng)?chuàng)建一個(gè)在字典中使用的復(fù)合鍵零酪,我們必須使用元組作為鍵
字典可以通過調(diào)用項(xiàng)目返回元組列表,其中每個(gè)元組都是一個(gè)鍵值對(duì)
元組是不可變的拇勃,不能刪除四苇,但使用關(guān)鍵字“DEL”可以完全刪除元組。
要從元組或列表中獲取特定的子元素集方咆,我們使用這個(gè)稱為切片的獨(dú)特函數(shù)