字典:
d = { 'username':'zjr', 'id':1 , 'grade':'tmz', 'addr':'bj', 'age':18, }
增加值:
d['money']=100 d['id']=2#会更改已经存在的值
d.setdefault('car','bmw') d.setdefault('age',19)#不会更改已存在的值
d.update(a=1)#增加值,会更改已存在的值 print(d)
修改值:
d['money']=100
取值:
print(d['addr1'])#不存在报错 print(d['addr']) print(d.get('id')) print(d.get('id1'))#不存在时返回None print(d.get('id1','99'))#不存在时返回指定的值99
删除值:
d.pop('addr')#只能删存在的 d.pop('addr2')#只能删存在的 del d['age'] del d['age2']#只能删存在的
d.clear()#清空字典
获取key和value:
print(d.values()) print(d.keys())
循环取值:
print(d.items()) #items方式 for k,v in d.items(): print(k,v) #高效方式 for k in d:#推荐使用,效率高 print(k,d.get(k))
字典和列表多层取值:
info = { 'lgy':{ 'age':18, 'addr':'beijing', 'cars':['bmw','ben-z','audi'], }, 'fd':{ 'house':{ 'bj':['海淀区','昌平区','朝阳区','西城区'], 'sh':['静安区','闸北区'] }, 'money':5000 } } import json
#删除fd昌平区的房子
info['fd']['house']['bj'].pop(1)#list中pop删角标,字典中pop是删k; list中remove方法删元素
#给fd的钱加4000块
info['fd']['money']+=4000 info = json.dumps(info,indent=4,ensure_ascii=False)#ensure_ascii=False使中文正常显示 print(info)