当前位置: 首页 > 后端技术 > Python

小白学Python(十二):数据结构基础(词典)(下)

时间:2023-03-26 12:54:15 Python

人生苦短,我选择Python。(上)小白学Python(三):基本数据类型(下)小白学Python(四):变量的基本运算小白学Python(五):基本运算符(上)小白学Python(六):基本运算符(下)Python初学者学习(七):基本过程控制(上)Python初学者学习(八):基本过程控制(下)Python初学者学习(九):基本数据结构(列表)(下)1))小白学习Python(十):数据结构基础(列表)(下)小白学习Python(十一):数据结构基础(元组)字典先问一下,你用过字典吗?我们先看看现实中的字典是什么样子的。嗯,这本字典看起来很过时。那么Python中的字典是什么样子的呢?一边看代码一边说:创建字典字典是由一组键(key)值(value)对组成的,类似于:{key1:value1,key2:value2}。字典的每个键值(key=>value)对由冒号:分隔。用逗号,分隔每一对。整个字典包含在花括号{}中。dict1={'name':'geekdigging','age':2}print(dict1)print(type(dict1))结果如下:{'name':'geekdigging','age':2}注意:键必须唯一,但值不可以。值可以采用任何数据类型,但键必须像字符串、数字或元组一样是不可变的。我们创建一个奇怪的字典(字典没有意义,只是为了演示):dict2={(1,2,3):'123','name':'geekdigging',2:[1,2,3]}print(dict2)print(type(dict2))结果如下:{(1,2,3):'123','name':'geekdigging',2:[1,2,3]}其实可以这样创建:dict3=dict(name='geekdigging',age=2)print(dict3)print(type(dict3))结果如下:{'name':'geekdigging','age':2}在这种情况下,key只能是字符串类型,字符串创建的时候不能用引号引起来,加上的话会直接报语法错误。比如我们尝试把key改成数字:dict3=dict(1='geekdigging',2=2)结果如下:File"D:/Development/Projects/python-learning/base-data-dict/Demo.py",line13dict3=dict(1='geekdigging',2=2)^SyntaxError:keywordcan'tbeanexpression访问字典中的值语法:字典名[key]print(dict1['name'])结果如下:极客注意:如果我们要找的key在字典中不存在,会直接报错。print(dict1['geekdigging'])的结果如下:Traceback(mostrecentcalllast):File"D:/Development/Projects/python-learning/base-data-dict/Demo.py",line18,在print(dict1['geekdigging'])KeyError:'geekdigging'错误信息是KeyError,说明我们的key是错误的。如果要避免上述问题,需要查找当前key是否存在,可以使用如下语句:语法:keyindictionary那么上面的语句可以结合前面的流程控制改成如下:str='geekdigging'ifstrindict1:print(dict1['geekdigging'])else:print('Thekeyyouqueried',str,'doesnotexist')结果如下:Thekeygeekdiggingyouquerieddoes不存在。在字典中添加、删除和更新键值对:#添加dict1['a']=18print(dict1)#更新dict1['name']='www.geekdigging.com'print(dict1)#删除deldict1['a']print(dict1)结果如下:{'name':'geekdigging','age':2,'a':18}{'name':'www.geekdigging.com','age':2,'a':18}{'name':'www.geekdigging.com','age':2}希望各位同学在学习过程中能够自己练习示例代码。毕竟不敲代码永远学不会代码:)本系列示例代码中的所有代码小编都会放在代码管理仓库Github和Gitee上,方便大家查阅。示例代码-Github示例代码-Gitee如果我的文章对你有帮助,请扫码关注作者的公众号:获取最新干货推送:)