1. 程式人生 > >Python dict(字典) 詳細總結

Python dict(字典) 詳細總結

one dump TE port 數字 class 轉換 PE 持久

示例:
d={
    ‘name‘:‘yy‘
}

key值判斷

d.has_key(‘name‘)  #如果有key返回True

d.get(‘name‘)  #如果沒有key返回None

添加與更新

#賦值可以是字符,數字,列表,元組,字典。
d[‘age‘] = 28
d[‘friends‘] = [‘john‘,‘megan‘,‘alex‘]

刪除

del d[‘name‘]  #刪除指定key

d.clear()   #清空字典

取值

  • 獲取指定key的值
d[‘name‘]  

如果‘name‘這個key不存在,會拋出異常
可以替換為:

d.get(‘name‘,‘yy‘)  #如果沒有‘name‘這個key,則賦予默認值‘yy‘

也可以先判斷是否存在這個key:

d.has_key(‘name‘)   #返回true或false

遍歷字典

  • 遍歷key與value
    for k,v in d.items():
    print k,v
  • 獲取所有key

    d.keys()   #返回一個列表
  • 獲取所有value
    d.values()  #返回一個列表

字典合並

dict1={‘name‘:‘yang‘}
dict2={‘age‘:18}

result = dict(dict1,**dict2)
# result = {‘name‘:‘yang‘,‘age‘:18}

格式化輸出字典

不同層級以2個空格縮進

import json
print json.dumps(d,indent=2)

字典持久化

先把字典轉換成字符串,然後把字符串寫入文件,讀出來時再把字符串為字典

import json  
data = json.dumps(d)
with open(f,‘wb‘) as f:
  f.write(data)

import json  
with open(f,‘wb‘) as f:
  data = f.read()
d = json.loads(data)

Python dict(字典) 詳細總結