Python數據結構之二——tuple(元組)


  Python版本:3.6.2  操作系統:Windows  作者:SmallWZQ

  列表和元組是Python中最常見的內建序列。元組與列表一樣,但是tuple一旦創建就不能修改。創建元組的語法非常簡單,示例如下:

  >>> 1,2,3

  (1,2,3)

  如果您用逗號分隔了一些值,那么您就自動創建了tuple。一旦創建,tuple內容就是固定的。

  tuple格式如下:

  t = (1,),小括號。

  1.元組索引

  tuple創建后,不能通過append()、pop()、insert()、remove()等方法改變tuple的內容。然而tuple是可以被索引訪問的,即獲取tuple元素的方法與list類似,但元素值不可被修改。  

  >>> t = (1,2,3,4,5,6)

  >>> t[0]

  1

  如代碼所示,tuple可以正常地通過索引(t[0],t[-1]......)訪問元素值。

  2.元組陷阱

  創建元組時,需要特別注意元組中只有一個值的情況。Python的數據類型包括tuple、int等等。因此,當tuple中包含一個元素的時候,不能遺漏逗號。

  >>> t = (56)

  >>> t

  56  

  >>> t = (56,)

  >>> t

  (56,)

  注:定義一個空的tuple,可以寫成()。

  3.元組方法

  由於元組是不可變的,所以元組支持的方法很少,與list無法相提並論。tuple僅僅支持index()、count()等極少數的方法。話不多說,直接上圖。

  

                   圖1 tuple方法介紹

  4.tuple()

  與list()一樣,功能:以一個序列作為參數並把它轉換為tuple。  

  >>> tuple([1,2,3])

  (1,2,3)

  >>> tuple('abc')

  ('a','b','c')

  >>> tuple((1,2,3))

  (1,2,3)

  5.不可替代性

  tuple是不可變序列,它有存在的必要嗎?它的意義在哪?......面對這一系列的疑問,我也查過很多的資料,包括Python基礎教程、廖曉峰教程等等。tuple不可替代的原因:1.安全性;2.鍵(key)。

  因為tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就盡量用tuple。(來自廖老師的教程)

  tuple可以在映射(和集合的成員)中當作鍵(key)使用——而列表不行。

  tuple作為很多內建函數和方法的返回值存在,也就是說您必須對元組進行處理。

  >>>def f():

      return 2,3

  >>>f()

  (2,3)

  返回值為元組類型

  tuple總結

  1.tuple是不可變的序列。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM