1、定义
字典{}key-value 形式d={'name':'贾宝玉', 'age':31, 'sex':'男', 'adrs':'荣国府'}优点:取值方便、速度快取值: print(d[name]) #如果不存在则程序报错 print(d.get('name'))#如果key不存在,步报错,返回NULL print(d.get('name'),'找不到')#如果key不存在,步报错,返回找不到(即指定的)
2、操作:
增加:
a、d['hight']=180 #即可直接增加key和value
b、d.setdefault('weight',130) #
删:
a、d.pop('sex') #指定key,才能删除,即删除某个key
b、d.popitem() # 随机删除一个
c、del d['sex'] #指定删除key,即指定删除sex
d、d.clear() #清空字典
修改
a、d['hight']=120 #如果存在的key,可直接修改
3、其他方法:
print(d.keys()) #打印所有的key
print(d.values()) #打印所有的value
d.has_key(’addr‘) python2中是否存在某个key
if 'name'in d.keys(): #python3中判断是否存在某个key
4、循环:
a、for i in d: #直接循环字典 ,则循环的是字典的key
print(i)
b、for k,v in d.items(): #使用item ,则可以取到字典的value,item 是将字典的key和value 转化为元组即()形式的
print(k,v)
c、for k in d: #直接按照key,取对应的value,比b方法,性能高
print(k,d[k])
或者print(k,d.get(k))
5、字典嵌套
stus=[{'name':'贾宝玉','age':31,'sex':'男','adrs':'荣国府', 'money':10000, 'jinku':{ '¥':80000, '$':300000 }},{'name':'贾探春','age':31,'sex':'男','adrs':'荣国府','money':10000, 'huazhuangpin':{ '神仙水':10 }},{'name':'林黛玉','age':31,'sex':'女','adrs':'荣国府','money':10000,'bag':{ 'lv':10}}]print(stus[0]['jinku']['$']) #取值300000
stus = { 'wg': { 'age': 18, 'sex': '男', 'addr': '昌平区', 'money': 10000000, 'jinku': { '建行卡': 80000, '工商卡': 800000, '招商卡': 8000000 } }, 'wd': { 'age': 19, 'sex': '女', 'addr': '昌平区', 'money': 10000000, 'huazhuangpin': ['chanle','haha'] }, 'ws': { 'age': 19, 'sex': '女', 'addr': '昌平区', 'money': 10000000, "bag": { 'lv': '一车', '鳄鱼':10 } },}
print(stus['ws']['bag'].keys()) #取到ws的所有的bag种类print(stus['wg']['jinku'].values) #找到wg jinku 中的所有的钱sum(stus['wg']['jinku'].values) #内置函数或者 循环获取
sum_money=0for money in all_money: sum_money=sum_money+moneyprint(sum_money)print(stus['wd']['huazhuangpin'][1]) #取到haha 的值
来源:https://www.cnblogs.com/jyjcode/p/8176426.html