[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的特點: 查找和插入時間隨著元素的增加而增加 佔用空間小,浪費記憶體小
