示例:

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)