1. 程式人生 > >Python修行之Dict初識(一)

Python修行之Dict初識(一)

name 鍵值 可變 語句 ppi iter rom ping The

字典全稱(Dictionaries)
字典為非線性結構
類似Dict稱為k-v對、全名為:key - value鍵值對的數據的集合
dict是可變的、無序的、key不重復(去重)
*key必須可以hash
*set可稱為dict的簡化版
dict是一個個kv對,其中k一定不相同,keys可以當set用、如果value可hash,那麽items可以當set用

字典dict定義 初始化

 d = dict() 或者d = {}
 dict(**kwarge)使用name = value對構造字典,不過可叠代對象的元素必須是一個二元結構
 dict(iterable,**kwary)可用叠代對象和name = value對構造字典,不過可叠代對象的元素必須是一個二元結構
 d = dict(((1,‘a‘),(2,‘b‘)))或者 d = dict(([1,‘a‘],[2,‘b‘]))(二元組)
 dict(mapping,**kwarg)使用一個字典構建另一個字典*含有引用類型,註意結果
 d = {‘a’:10,‘b‘:20,‘c‘:None,‘d‘:[1,2,3]} #常用構建字典方式
 類方法dict.fromkeys(iterable,value)
                d = dict.fromkeys(range(5))
                d = dict.fromkeys(range(5),0)
 當iterable的key與kwary的值相同時,後面的value會覆蓋前面的value

字典元素的訪問

*d[key]
    返回key對應的value
    key不存在拋出KeyError異常
*get(key[,default])
    返回key對應的value
    key不存在時返回缺省值,如果沒有設置缺省值就返回None
setdefault(key[,default]
    返回key對應的值value
    key不存在,添加kv對,value設置為default,並返回default,如果default沒有設置,缺省為None

字典增加和修改

d[key] = value
     將key對應的值修改為value
     key不存在添加新的kv對
update([other]) - >None
    使用另一個字典的kv對更新本字典、
    key不存在,就添加
    key存在,覆蓋已經存在的key對應的值
    就地修改
    *當key為數字,默認無法添加。需使用二元組方式,或字典方式添加

字典刪除

pop(key[,defaulf])
        key存在,移除它,並返回它的value
        key不存在,返回給你的default
        default未設置,key不存在則拋出keyError異常
popitem()
        移除並返回一個任意的鍵值對
        字典empty,拋出KeyError異常
clear()
        清空字典
del語句
        刪除非value本事,而是value的引用計數。當引用計數歸零時,內存會自動回收。

Python修行之Dict初識(一)