python3入门笔记 下
python中的dict容器
1.
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] scores = [45, 60, 75, 86, 49] index = 0 for name in names: score = scores[index] print('name = {}, score = {}'.format(name, score)) index = index + 1
使用两个list有些麻烦,而且一个顺序改变,另一个也需要改变,会对应不上
dict是专门保存这种映射的
2.在dict中,每一项包含一个key和一个value
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 }
3.定义一个空的dict
d = dict() print(d) # ==> {}
4.python读取dict元素
可以用d[key],得到对应的value d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49, 'Gaven': 86 } print(d['Bob']) # ==> 60 print(d['Alice']) # ==> 45 当key不存在时,会产生错误 使用get方法可以避免错误 print(d.get('Alice')) # ==> 45 print(d.get('Dodo')) # ==> None
5.python添加dict元素
可以采用赋值语句 d['Alice']=72 d['Mimi']=[72,73] 可以往数据类型是list的value中添加值 d['Mimi'].append(75) d['Dodo'].append(90) print(d)
6.python更新dict元素
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 } d['Bob'] = 75 print(d) \# ==> {'Alice': 45, 'Bob': 75, 'Candy': 75, 'David': 86, 'Ellena': 49}
7.python删除dict元素
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 } d['Bob'] = 75 print(d) \# ==> {'Alice': 45, 'Bob': 75, 'Candy': 75, 'David': 86, 'Ellena': 49} 再次pop一个已经删除的元素会发生错误
8.python dict的特点
1.查找速度快,缺点是占用内存大,浪费很多内容
2.python3.5之前,dict中的元素是无序的
3.key值不可变,可以是基础数据类型,可以是tuple,不能是list
9.python遍历dict
方法一:
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 } for key in d: # 遍历d的key value = d[key] if value > 60: print(key, value) \# ==> Candy 75 \# ==> David 86
方法二:
items()方法 for key, value in d.items(): if value > 60: print(key, value) \# ==> Candy 75 \# ==> David 86
10.keys()函数获取dict所有的key
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]} for key in d.keys(): print(key) \# ==> Alice \# ==> Bob \# ==> Candy
11.清除所有元素
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]} print(d) # ==> {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]} d.clear() print(d) # ==> {}
12.获取dict的所有value
values()函数 d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]} for key in d.values(): print(key) \# ==> [50, 61, 66] \# ==> [80, 61, 66] \# ==> [88, 75, 90]