元組是不可變的Python對(duì)象序列。元組的序列就像列表。唯一的區(qū)別是,元組不能被改變,即元組是不可被修改。元組使用小括號(hào),而列表使用方括號(hào)。
創(chuàng)建一個(gè)元組很簡(jiǎn)單,只要把不同的逗號(hào)分隔值,可以把括號(hào)中的這些逗號(hào)來(lái)分隔每個(gè)值。例如:
tup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5 );tup3 = "a", "b", "c", "d";
空的元組寫為含有兩對(duì)稱括號(hào):
tup1 = ();
要元組中包含一個(gè)值,必須有一個(gè)逗號(hào),即使只有一個(gè)值的元組:
tup1 = (50,);
如字符串索引,元組索引從0開(kāi)始,元組可以切片,聯(lián)接等。
訪問(wèn)元組的值:
要訪問(wèn)元組的值,使用方括號(hào)沿切片及索引或索引來(lái)獲得可用的索引對(duì)應(yīng)的值。下面是一個(gè)簡(jiǎn)單的例子:
#!/usr/bin/pythontup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5, 6, 7 );print "tup1[0]: ", tup1[0]print "tup2[1:5]: ", tup2[1:5]
當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:
tup1[0]: physicstup2[1:5]: [2, 3, 4, 5]
更新元組:
元組是不可變的,這意味著不能更新或更改元組元素的值。但可以利用現(xiàn)有的元組的部分來(lái)創(chuàng)建新的元組,如下例所示:
#!/usr/bin/pythontup1 = (12, 34.56);tup2 = ('abc', 'xyz');# Following action is not valid for tuples# tup1[0] = 100;# So let's create a new tuple as followstup3 = tup1 + tup2;print tup3;
當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:
(12, 34.56, 'abc', 'xyz')
刪除的元組元素:
除去各個(gè)元組的元素是不可能的。當(dāng)然,一個(gè)元組與丟棄不想要的元素放在一起沒(méi)有錯(cuò)。
要明確地刪除整個(gè)元組,只要使用del語(yǔ)句。下面是一個(gè)簡(jiǎn)單的例子:
#!/usr/bin/pythontup = ('physics', 'chemistry', 1997, 2000, hema);print tup;del tup;print "After deleting tup : "print tup;
這將產(chǎn)生以下結(jié)果。注意引發(fā)異常,這是因?yàn)榻?jīng)過(guò)del tup元組就不存在了:
('physics', 'chemistry', 1997, 2000)After deleting tup :Traceback (most recent call last): File "test.py", line 9, in <module> print tup;NameError: name 'tup' is not defined
元組的基本操作:
元組的 + 和 * 運(yùn)算符回應(yīng)就像字符串中一樣; 他們串聯(lián)和重復(fù)功能在這里也一樣,不同的是,結(jié)果是一個(gè)新的記錄,而不是字符串。
實(shí)際上,元組響應(yīng)所有我們使用在現(xiàn)有章字符串的一般操作順序:
索引,切片和矩陣:
因?yàn)樵M序列,索引和切片與字符串的工作方式相同。假設(shè)下面輸入:
新聞熱點(diǎn)
疑難解答
圖片精選