7-Python3從入門到實戰—基礎之數據類型(字典-Dictionary)

Python從入門到實戰系列——目錄

字典的定義

  • 字典是另外一種可變容器模型,且可存儲任意類型對象;使用鍵-值(key-value)存儲,具備極快的查找速度;
    字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號({})中
語法格式:{ key1 : value1, key2 : value2, key3 : value3 ...}
    users={' 張三 ' : 18 , ' 李四 ' : 19 , ' 王五 ' : 20 , ' 趙六 ' : 19}
  • 字典的鍵必須是惟一的,而且值的數據類型是不可變的,但值可使任意的或者重複的;
# 編號做爲鍵,鍵惟一,值可變
    users={ 1 :' 張三 '  , 2 :' 李四 ' , 3 :' 王五 '  , 4 :' 張三 ' }

訪問字典裏的值

  • 訪問字典中的值使用 dict[鍵]
dict = {'name' : ' SiberiaDante ' , ' age ' : 18  , ' address' : ' China '}
    print(dict['name']  # 結果 :SiberiaDante

修改字典

  • 根據字典中的鍵修改字典中的值
dict = {'name' : ' SiberiaDante ' , ' age ' : 18  , ' address' : ' China '}
    print(dict['age'])  # 輸出:18
    dict [ ' age ' ] = 20
    print(dict['age'])  # 輸出: 20
  • 向已有的字典中增長鍵值對
dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
    print(dict) # 結果 :{'name': 'SiberiaDante', 'age': 18, 'address': 'China'}
    dict['language']='Python'
    print(dict) # 結果 : {'name': 'SiberiaDante', 'age': 18, 'address': 'China','language':'Python'}

刪除字典

  • 刪除字典中的單個元素:dict[key]
dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
    print(dict) # 結果 : {'name': 'SiberiaDante', 'age': 18, 'address': 'China'}
    del dict['name']
    print(dict) # 結果 : { 'age': 18, 'address': 'China'}
  • 刪除一個字典: del dict
dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
    del dict
  • 清空字典:dict.clear()
dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
       print(dict) # 結果 : {'name': 'SiberiaDante', 'age': 18, 'address': 'China'}
       dict.clear() 
       print(dict)  # 結果:{}

字典內置函數&方法

  • 函數
len(dict)   計算字典元素個數,即鍵的總數。 
    str(dict)   輸出字典,以可打印的字符串表示。    
    type(variable)  返回輸入的變量類型,若是變量是字典就返回字典類型。
  • 方法
dict.clear() 刪除字典內全部元素
    dict.copy()  返回一個字典的淺複製
    dict.fromkeys()  建立一個新字典,以序列seq中元素作字典的鍵,val爲字典全部鍵對應的初始值
    dict.get(key, default=None)  返回指定鍵的值,若是值不在字典中返回default值
    key in dict 若是鍵在字典dict裏返回true,不然返回false
    dict.items() 以列表返回可遍歷的(鍵, 值) 元組數組
    dict.keys()  以列表返回一個字典全部的鍵
    dict.setdefault(key, default=None)   和get()相似, 但若是鍵不存在於字典中,將會添加鍵並將值設爲default
    dict.update(dict2)   把字典dict2的鍵/值對更新到dict裏
    dict.values()    以列表返回字典中的全部值
    pop(key[,default])  刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。 不然,返回default值。
    popitem()   隨機返回並刪除字典中的一對鍵和值(通常刪除末尾對)。

字典和列表對比

  • 和list比較,dict有如下幾個特色:
    • 查找和插入的速度極快,不會隨着key的增長而變慢;
      *須要佔用大量的內存,內存浪費多;
  • 和dictionary相比,list的特性:
    • 查找和插入的時間隨着元素的增長而增長;
    • 佔用空間小,浪費內存不多;
相關文章
相關標籤/搜索