萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 初步講解Python中的元組概念

初步講解Python中的元組概念

   這篇文章主要介紹了初步講解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

  元組的基本操作:

  元組的 + 和 * 運算符回應就像字符串中一樣; 他們串聯和重復功能在這裡也一樣,不同的是,結果是一個新的記錄,而不是字符串。

  實際上,元組響應所有我們使用在現有章字符串的一般操作順序:

2015521101313830.jpg (575×203)

  索引,切片和矩陣:

  因為元組序列,索引和切片與字符串的工作方式相同。假設下面輸入:

  ?

1 L = ('spam', 'Spam', 'SPAM!')
2015521101436562.jpg (578×152)

  無封閉分隔符:

  任何一組多個對象,以逗號分隔,不寫識別符號,即括號內的列表,括號中的元組等,默認為元組,在下面這個短短的例子說明:

  ?

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
copyright © 萬盛學電腦網 all rights reserved