Python(四)字典

定义:在Python中,用键值对表示字典,用{}括起来,键值对中间用:分割,每个键值对用逗号分隔

定义空的字典:

stu_info={}

stu_info=dict()

注意:字典里的key是不能重复的,key必须是唯一的。

与list区别:比list查询速度快,list越大,查询速度越慢,字典就不会这样,字典的查询速度很快。

查询字典

1、dictname['key']

2、.get方法:dictname.get('key')。

(1)如果存在key,就会返回相对应的值。

(2)get如果取得是不存在的key,会返回none。

(3)get如果取得是不存在的key,但是在.get里面给赋值了默认值,那么就会返回默认值。

a.

b.

c.

修改字典

dictname['key']='value'

新增

1、dictname['key']='value'

2、dictname.setdefault('key','value')

区别:第一种方法,对已经存在的key,会直接修改key对应的值。

          用setdefault新增一个已经存在的key,不会修改已经存在key的值

删除

1、dictname.pop('key'),删除不存在的key会报错KeyError:

2、del dictname['key'],删除不存在的key会报错KeyError:

清空字典

dictname.clear()

随机删除一个元素.popitem()

dictname.popitem()

复制一个字典.update

获取字典里面所有的key  .keys(),获取字典里面所有的value .values()

循环字典

循环字典用for,每次取到的都是字典的key

同时取字典里面的key与value,用.items()方法

判断key value是否存在字典里面,用in  not in 

字典嵌套

字典里面可以嵌套字典,嵌套列表,如下

操作嵌套的字典

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
}
}
}
#春波卖了上海一套房子,卖了500万
d['春波']['house'].pop(-1)
print(d)
d['春波']['money']+=5000000
print(d)
#算一下春波有多少辆车
car_num=d['春波']['car'].values()
print(sum(car_num))
#春波花了100万,买了一辆劳斯莱斯
d['春波']['car']='劳斯莱斯'
print(d)
d['春波']['money']-=1000000
print(d)
#周杰伦的东北话退不了,从20变成10级
d['周杰伦']['language']['东北话']='10'
print(d)
#周杰伦会哪些语言
print(d['周杰伦']['language'].keys())

 执行结果如下:


posted @ 2018-11-19 16:33  会飞的狗子  阅读(280)  评论(0编辑  收藏  举报