1、什么是dict
1)dict 就是通过 key 来查找 value。
2)格式
花括号 { } 表示这是一个dict,然后按照 key:
value格式 写出来即可。最后一个 key:
value 后的逗号可以省略。
如:
d={
'Adam':95,
'Lisa':85,
'Bart':59
}
dict也是集合,len() 函数可以计算任意集合的大小
用法:
print len(d)
2、
访问dict
例子:创建一个dict,用于表示名字和成绩的对应关系
d={
'Adam':95,
'Lisa':85,
'Bart':59
}
可以简单地使用 d[key] 的形式来查找对应的
value。和list不同之处是,list 必须使用索引返回对应的元素,而dict使用key
print
d['Bart']
打印出key对应的value值
注意: 通过
key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
print d['Bt']
避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
二是使用dict本身提供的一个
get 方法,在Key不存在的时候,返回None:
print d.get('Bart')
59
print d.get('Paul')
None
练习题:
解答如下:
3、
dict的特点
与List对比
名称
| 查找速度 | 内存 |
存储顺序
|
可变性
|
dict
|
查找速度快,无论dict有多少个元素查找速度都一样。
|
占用内存大,还会浪费很多内容
|
存储的key-value序对是没有顺序的,dict内部是无序的。不能用dict存储有序的集合。
|
key 的元素必须不可变
value是可以变得
|
list
|
随着元素增加而逐渐下降。
|
占用内存小
| 有序,按顺序存储和输出 |
可变
|
Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为
key
例子:
{ '123': [1, 2, 3], # key 是 str,value是list 123: '123', # key 是 int,value 是 str ('a', 'b'): True # key 是 tuple,并且tuple的每个元素都是不可变对象,value是 boolean }
dict是可变的,可以随时往dict中添加新的
key-value。
例子:
d={
'Adam':95,
'Lisa':85,
'Bart':59
}
用赋值语句:
>>>d['Paul'] = 72
print d
{'Lisa':85,'Paul':72,'Adam':95,'Bart':60}
如果
key 已经存在,则赋值会用新的 value 替换掉原来的 value:
d['Bart']=60
print d
{'Lisa':85,'Paul':72,'Adam':95,'Bart':60}
练习:
请根据Paul的成绩 72 更新下面的dict:
请根据Paul的成绩 72 更新下面的dict:
d = {
95: 'Adam',
85: 'Lisa',
59: 'Bart'
}
解答: d[72]='Paul'
5、遍历dict
通过
for 循环实现遍历dict
任务
请用 for 循环遍历如下的dict,打印出 name: score 来。
解答: