Python数据类型之Dict字典实例详解
Python  /  管理员 发布于 7年前   159
本文实例讲述了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'] = 89print(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}#获取字典的keyfor key in dict1: print(key)#获取字典中的value for value in dict1.values(): print(value)#同时获取字典中的key与valuefor 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程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号