Python:字典Dictionary、列表List、元組Tuple差異化理解

2020-08-10 16:22:25

概述:Python中這三種形式的定義相近,易於混淆,應注意區分.

aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
aList=[1,2,3,4,5]
aTuple=(1,2,3,4,5)

一、字典Dictionary

  • 語法形式:aDict={‘a’:1, ‘b’:2, ‘c’:3, ‘d’:4, ‘e’:5}
  • Dictionary是Python內建數據型別,定義了"鍵-值"間的一一對應關係。
  • 每個元素都是key-value對,整個元素集合用大括號擴起來。
  • 可通過key獲取對應值,但不能根據value獲取key。
  • key不能相同,相同key則將覆蓋就值。
  • key大小寫敏感,value可支援任意數據型別(字串、整數、物件或其他Dictionary)。
  • del可通過key刪除字典中特定元素del dict[k]。
  • clear將清空字典中所有元素,空的大括號表示沒有元素的字典。

二、列表List

語法形式:aList=[1,2,3,4,5]

  • List中元素是可變的。
  • List是使用中括號括起來的有序元素集合。
  • List列表索引從0開始。
  • 負數索引表示從List的尾部開始向前存取元素,list[-1]表示最後一個元素,可以理解list[-n]=list[len(list)-n]
  • List[m:n]表示List中m<=k<n的子集,被稱爲slice,詳見手冊。
  • List[:]返回與List中元素相同的一個新list,List[1:]取1-len(List)中所有元素
  • List列表方法:insert()插入新的元素,append()在尾部追加新元素、列表,extend()將一個列表擴充套件到原列表中,index()返回首個出現的元素索引,k in list返回是否存在
  • List可通過+連線兩個列表,等價於list.extend(anotherList)。
  • List中元素可以相同。

三、元組Tuple

語法形式:aTuple=(1,2,3,4,5)

  • Tuple元組是不可變的List,不能改變元組中的元素值。
  • 建立Tuple的形式與List相同,區別在於將[]換爲()。
  • Tuple元組沒有append、extend、remove、pop、index等方法,但可使用in判斷元素是否存在。
  • 空元組可以用()表示,但只有一個元素的元組爲避免歧義應當使用(n,)表示,而避免只用(n)的形式,Python可能誤解爲加了小括號的數位n。
  • 列表和元組的相互轉化:atuple=tuple(alist)和alist=list(atuple)
  • 無關閉分隔符:任何以逗號分隔的無符號物件都認爲是元組,如x,y = 1,2則print 「Value of x,y:」, x, y
  • Tuple好處:速度比List快,程式碼安全。

Python元組包含了以下內建函數:

'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ羣:778463939
尋找有志同道合的小夥伴,互幫互助,羣裡還有不錯的視訊學習教學和PDF電子書!
'''
cmp(tuple1, tuple2):比較兩個元組元素。
len(tuple):計算元組元素個數。
max(tuple):返回元組中元素最大值。
min(tuple):返回元組中元素最小值。
tuple(seq):將列錶轉換爲元組。