Python数据类型之Dict字典实例详解 本文实例讲述了Python数据类型之Dict字典。分享给大家供大家参考,具体如下: dict字典 1.概述 dict也是一种存储方式,类似于list和tuple,但是,字典采用键—值(key—value)的形式存储。 优点:具有极快的查找速度。 2.key的特性 ① 字典中的key必须唯一 ② **.key必须是不可变对象** 例如:字符串、整数等都是不可变的,可以作为key list是可变的,不能作为key 应用场景举例:保存学生成绩 可以采用字典,将学生的学号或者名字作为key,成绩为value进行存储,方便查找。 3.字典的创建 语法: 字典名 = {键1:值1,键2:值2,…} dist1 = {'tom':90,'lili':78, 'lele':92} print(dist1) print(dict(a=1,b=2,c=3)) 输出: {'tom': 90, 'lili': 78, 'lele': 92} {'a': 1, 'b': 2, 'c': 3} 3.1列表中的元组转字典: list1= [('a',1),('b',2)] print({a:b for a,b in list1}) >>>{'a': 1, 'b': 2} 4.字典操作 4.1访问元素 语法:元素 = 字典名[key] dist1 = {'tom':90,'lili':78, 'lele':92} print(dist1['tom']) 输出: 90 注意:在key不存在的情况下,会报错。 语法: 元素 = 字典名.get(key) 功能:使用get的方法获取值,若key存在,则返回value的值,若key不存在则返回None dist1 = {'tom':90,'lili':78, 'lele':92} value = dist1.get('tom') print(value) 输出: 90 4.2 添加元素 语法:字典名[key] = value dist1 = {'tom':90,'lili':78, 'lele':92} dist1['lisi'] = 89 print(dist1) 输出: {'tom': 90, 'lili': 78, 'lele': 92, 'lisi': 89} 注意:一个key只能对应一个value,多次对一个key的value赋值,后面的值会把前面的值覆盖掉。 4.3 删除元素 语法:字典名.pop(key) dist1 = {'tom':90,'lili':78, 'lele':92} print(dist1.pop('tom')) print(dist1) 输出: 90 {'lili': 78, 'lele': 92} 5.字典的遍历 字典在内存中存储是无序的,因此无法通过下标来获取值。 5.1 使用for循环遍历 语法: 获取键 for key in dict: ​ print(key) 获取值 for value in dict.values() : ​ print(value) 同时获取键和值 for k, v in dist.items() : ​ print(k, v) dict1 = {'tom':90,'lili':78, 'lele':92} #获取字典的key for key in dict1: print(key) #获取字典中的value for value in dict1.values(): print(value) #同时获取字典中的key与value for k, v in dict1.items(): print(k, v) 输出: tom lili lele 90 78 92 tom 90 lili 78 lele 92 # 通过函数来遍历字典 dict1 = {'tom':90,'lili':78, 'lele':92} for i,v in enumerate(dict1): print(i,v,dict1[v]) 输出: 0 tom 90 1 lili 78 2 lele 92 5.2 字典对调 d ={'d': 4, 'a': 1, 'b': 2, 'c': 3} d = {v: k for k, v in d.items()} print(d) 输出: {4: 'd', 1: 'a', 2: 'b', 3: 'c'} 6.与list的区别 1.dist的查找和插入的速度极快,不会随着key-value的增加而变慢,但是list在查找的时候需要从头向后挨个遍历元素,并且当数据量增大的时候,速度也会随着变慢 2.dist需要占用大量的内存,内存浪费多,而list只相当于存储了字典的key或者value部分,并且数据是紧密排列的。 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。