1. 程式人生 > >Python中字典的操作

Python中字典的操作

存在 最好 是否 bag ems pri mon one 報錯

1、字典key-value,key是不能重復的
stu_info={"name":"王誌華","age":18,"addr":"北京"}
2、取值,查
print(stu_info[‘name‘])
print(stu_info[‘age‘])
print(stu_info[‘addr‘])
# print(stu_info[‘we‘]) #取不存在的key的值,會報key不存在的錯誤
#.get方法取值
print(stu_info.get(‘name‘))
print(stu_info.get(‘we‘)) #取不存在的key的值,會返回None,取值最好用.get方法,不會報錯
print(stu_info.get(‘login‘,500)) #如果值不存在,就返回逗號後面的值,這個返回500

2、修改
stu_info[‘addr‘]=‘上海‘
print(stu_info)

3、新增
stu_info[‘phone‘]=123456
stu_info.setdefault(‘email‘,‘[email protected]‘)
print(stu_info)
#新增一個不存在的key,不會修改value的值
stu_info.setdefault(‘age‘,‘19‘)
print(stu_info)

4、刪除
stu_info.pop(‘email‘)
print(stu_info)
del stu_info[‘age‘]
print(stu_info)

# stu_info.popitem() #從字典中隨機刪除一個元素
# stu_info.clear() #清空字典
stu_info[‘age‘]=20
print(stu_info)
5、把一個字典加到另外一個字典裏
d1={‘b‘:1}
d2={‘a‘:2}
d1.update(d2)#把d2加到d1中
print(d1)
6、循環字典
print(stu_info.keys())#打印所有的key
print(stu_info.values()) #打印所有的values
#直接循環字典,打印出來都是字典中的key
for i in stu_info:
print(i)
#判斷key是否存在
print(‘name‘in stu_info.keys())
print(‘name‘ in stu_info)

#第一種,這種效率比第二種效率高
第一種,取key和value的值:
for i in stu_info:
s=‘%s=>%s‘%(i,stu_info.get(i))
print(s)
#第二種
for k,v in stu_info.items():
print(‘%s=>%s‘%(k,v))

print(stu_info.items())

7、字典的嵌套
#字典嵌套
stu_info={
‘xiaoming‘:{"password":123456,"phone":1323214,"age":18,"addr":"北京"},
"xiaohei":{"password": 123456,"phone": 132321,"age": 18,"addr": "上海"}
}
print(stu_info[‘xiaoming‘][‘phone‘])
d = {
‘春波‘:{
"car":{‘BMW‘:5,‘BENZ‘:3,‘audi‘:3,‘byd‘:4},
"house":["北京",‘南京‘,‘上海‘],
"money":1000000,},
‘喬美玲‘:{
"bag":[‘xx‘,‘lv‘,],
"house":[‘三環‘,‘4環‘],
"hzp":[‘skii‘,‘ysl‘],
‘language‘:{
‘普通話‘:10,
‘東北話‘:20,
‘日語‘:0,
‘英語‘:4
}
}
}

#1、馬春波賣了一套上海的房子,買了500百萬
d[‘春波‘][‘house‘].pop(-1)
print(d[‘春波‘][‘house‘])

d[‘春波‘][‘money‘]+=5000000
print(d[‘春波‘][‘money‘])
#2、算一下馬春波有多少輛車
car_num=d[‘春波‘][‘car‘].values()
print(sum(car_num))
#3、春波花了100百萬買了一輛萊斯萊斯
d[‘春波‘][‘money‘]-=1000000
print(d[‘春波‘][‘money‘])

d[‘春波‘][‘car‘].setdefault(‘萊斯萊斯‘,1)
print(d[‘春波‘][‘car‘])
#4、喬美玲的東北話從20級變成了10級
d[‘喬美玲‘][‘language‘][‘東北話‘]-=10
print(d[‘喬美玲‘][‘language‘][‘東北話‘])
#5、喬美玲會哪幾種語言
for k in d[‘喬美玲‘][‘language‘]:
print(k)

Python中字典的操作