1. 程式人生 > >[Python]學習基礎篇:字典

[Python]學習基礎篇:字典

創建 clas over code ini normal 占用空間 trace 增加

字典

字典這個數據結構的功能和它的名字一樣,根據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的特點:
    查找和插入時間隨著元素的增加而增加
    占用空間小,浪費內存小


[Python]學習基礎篇:字典