python-字典操作
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=0
for money in all_money:
sum_money=sum_money+money
print(sum_money)
print(stus['wd']['huazhuangpin'][1]) #取到haha 的值

浙公网安备 33010602011771号