這篇文章主要介紹了初步講解Python中的元組概念,是Python入門中的基礎知識,需要的朋友可以參考下
元組是不可變的Python對象序列。元組的序列就像列表。唯一的區別是,元組不能被改變,即元組是不可被修改。元組使用小括號,而列表使用方括號。
創建一個元組很簡單,只要把不同的逗號分隔值,可以把括號中的這些逗號來分隔每個值。例如:
?
1 2 3 tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d";空的元組寫為含有兩對稱括號:
?
1 tup1 = ();要元組中包含一個值,必須有一個逗號,即使只有一個值的元組:
?
1 tup1 = (50,);如字符串索引,元組索引從0開始,元組可以切片,聯接等。
訪問元組的值:
要訪問元組的值,使用方括號沿切片及索引或索引來獲得可用的索引對應的值。下面是一個簡單的例子:
?
1 2 3 4 5 6 7 #!/usr/bin/python tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5, 6, 7 ); print "tup1[0]: ", tup1[0] print "tup2[1:5]: ", tup2[1:5]當執行上面的代碼,產生以下結果:
?
1 2 tup1[0]: physics tup2[1:5]: [2, 3, 4, 5]更新元組:
元組是不可變的,這意味著不能更新或更改元組元素的值。但可以利用現有的元組的部分來創建新的元組,如下例所示:
?
1 2 3 4 5 6 7 8 9 10 11 #!/usr/bin/python tup1 = (12, 34.56); tup2 = ('abc', 'xyz'); # Following action is not valid for tuples # tup1[0] = 100; # So let's create a new tuple as follows tup3 = tup1 + tup2; print tup3;當執行上面的代碼,產生以下結果:
?
1 (12, 34.56, 'abc', 'xyz')刪除的元組元素:
除去各個元組的元素是不可能的。當然,一個元組與丟棄不想要的元素放在一起沒有錯。
要明確地刪除整個元組,只要使用del語句。下面是一個簡單的例子:
?
1 2 3 4 5 6 7 8 #!/usr/bin/python tup = ('physics', 'chemistry', 1997, 2000, hema); print tup; del tup; print "After deleting tup : " print tup;這將產生以下結果。注意引發異常,這是因為經過del tup元組就不存在了:
?
1 2 3 4 5 6 ('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元組的基本操作:
元組的 + 和 * 運算符回應就像字符串中一樣; 他們串聯和重復功能在這裡也一樣,不同的是,結果是一個新的記錄,而不是字符串。
實際上,元組響應所有我們使用在現有章字符串的一般操作順序:
索引,切片和矩陣:
因為元組序列,索引和切片與字符串的工作方式相同。假設下面輸入:
?
1 L = ('spam', 'Spam', 'SPAM!')無封閉分隔符:
任何一組多個對象,以逗號分隔,不寫識別符號,即括號內的列表,括號中的元組等,默認為元組,在下面這個短短的例子說明:
?
1 2 3 4 5 #!/usr/bin/python print 'abc', -4.24e93, 18+6.6j, 'xyz'; x, y = 1, 2; print "Value of x , y : ", x,y;當執行上面的代碼,產生以下結果:
?
1 2 abc -4.24e+93 (18+6.6j) xyz Value of x , y : 1 2