定义:在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())
执行结果如下: