[Python]學習基礎篇:字典

  • 2020 年 1 月 14 日
  • 筆記

字典

字典這個數據結構的功能和它的名字一樣,根據key得到value值。

  • 字典的定義 方法:  dict={『key1』:value1,』key2』:value2……..}  對於字典,key值在字典中不能重複,若出現重複,將更改原有的key對應的value值。
  • 字典的基本操作 使用字典:dict={『key1』:1,』key2』:2,』key3』:3,』key4』:4} (1).修改字典  方法:dict[key]=new_value
>>>dict['key3']='jdieiq'  >>>dict['key3']  'jdieiq'

(2).刪除字典元素  方法1:del dict[『key』]  若無沒有key時,刪除整個字典,該方法與dict.clear()的區別是del刪除整個字典,字典就不存在了,而clear方法知識清空字典,字典對象是存在的。

>>>del dict['key3']  >>>dict  {'key1': 1, 'key2': 2, 'key4': 4}

方法2:dict.pop(『key』)  此方法彈出一個key值所對應的value的鍵值對,若key無時,彈出字典中的最後一個鍵值對。

>>>dict.pop('key2')2>>>dict  {'key1': 1, 'key4': 4}

(3).字典的長度  方法:len(dict)  對於求長度的方法,無論是列表,元組還是字典都是用len()函數

  • 字典的方法 使用字典:dict={『key1』:1,』key2』:2,』key3』:3,』key4』:4} (1).clear()方法  作用:清空字典,無返回值  (2).copy()方法  作用:淺複製一個字典  淺複製:指在複製後,複製後的字典值改變,不影響原字典的值
>>>dict1=dict.copy()  >>>dict1  {'key4': 4, 'key3': 3, 'key2': 2, 'key1': 1}  >>>dict1['key3']='fjiew'>>>dict1  {'key4': 4, 'key3': 'fjiew', 'key2': 2, 'key1': 1}  >>>dict  {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4}

(3).fromkeys(seq[,value])方法  作用:返回一個以seq作為key值的字典,若value不存在時,創建的字典的value值為None,若value存在是創建的字典key值所對應的的value值為value.  (4).get(key)  作用:返回key值所對應的value值,若key不存在時,返回空,不同於dict[key]方法,dict[key]方法,若key不存在時,返回錯誤。

>>>dict.get('key3')3>>>dict.get('key8')  >>>dict['key8']  Traceback <most recent call last:>      File "<stdin>",line 1,in <module>  KeyError:'key8'

(5).setdefault(key,default=None)方法  作用:此作用和get的作用一樣,但是不一樣的是key值不存在時,將key存進字典並賦值為None

>>>dict.setdefault('key8',default=None)  >>>dict  {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4,'key8':None}

(6).items()方法  作用:以列表的形式返回可遍歷以鍵值為元素的元組,一個鍵值對為一個元組,左右元組組成一個列表

>>>dict.items()  dict_items([('key1',1),('key2',2),('key3',3),('key4',4),('key8',None)])

(7).keys()方法和values()方法  作用:分別返回key列表和value列表

>>>dict.keys()  dict_keys(['key1','key2','key3','key4','key8'])  >>>dict.values()  dict_values([1,2,3,4,None])

(8).update(new_dict)方法  作用:將一個新的dict_new跟新到dict中

>>>dict1={'1':2,'3':4}  >>>dict.update(dict1)  >>>dict  {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4,'1':2,'3':4}
  • 字典和列表的區別 dict的特點:  查找和插入的速度極快,不會隨著key的增加而增加  需要佔用大量的記憶體,記憶體浪費多  list的特點:  查找和插入時間隨著元素的增加而增加  佔用空間小,浪費記憶體小

Tags: