字典

字典:

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)

 


posted @ 2020-08-21 20:58  Mezhou  阅读(98)  评论(0编辑  收藏  举报