深度学习:卷积神经网络技术与实践
上QQ阅读APP看书,第一时间看更新

2.6 字典

本节将介绍能够将相关信息关联起来的Python字典。主要介绍如何访问、修改字典中的信息。鉴于字典可存储的信息量几乎不受限制,因此我们会演示如何遍历字典中的数据。

理解字典后,就能够更准确地为各种真实物体建模。例如,可以创建一个表示人的字典,然后想在其中存储多少信息就能存储多少信息。字典可存储姓名、年龄、地址、职业,以及要描述的任何信息。

2.6.1 字典的创建

字典就是用大括号括起来的“关键字:值”对的集合体,每一个“关键字:值”对被称为字典的元素。

创建字典的一般格式为:


字典名={[关键字1:值1[,关键字2:值2,······,关键字n:值n]]}

其中,关键字与值之间用“:”分隔,元素与元素之间用逗号分隔。字典中关键字必须是唯一的,值可以不唯一。字典的元素可以是列表、元组和字典。


>>>d1 = {'name':{ 'first': 'Li', 'last': 'Hua'},'age':18}
>>>d1
{'name':{ 'first': 'Li', 'last': 'Hua'},'age':18}
>>>d2 = {'name': 'LiHua', 'score':[80,65,98]}
>>>d2
{'name': 'LiHua', 'score':[80,65,98]}
>>>d3={'name': 'LiHua', 'score':(80,65,98)}
>>>d3
{'name': 'LiHua', 'score':(80,65,98)}

当“关键字:值”对都省略时,会创建一个空的字典。例如:


>>>d4 = {}
>>>d5={'name': 'LiHua', 'age': '18'}
>>>d4,d5
{{},{'name': 'LiHua', 'age': '18'}}

另外,在Python中还有一种创建字典的方法,就是dict函数法。


>>>d6=dict()                                # 使用dict创建一个空的字典
>>>d6
{}
>>>d7=dict((['LiHua',100],['LiMing',95]))   # 使用dict和元组创建一个字典
>>>d7
{'LiHua':100, 'LiMing': 95}
>>>d8=([['LiHua',100],['LiMing',95]])       # 使用dict和列表创建一个字典
>>>d8
{'LiHua':100, 'LiMing': 95}

2.6.2 字典的常规操作

在Python中定义了很多字典的操作方式,下面介绍其中几个比较主要的方式,更多的字典操作可以从网络上查询。

1.访问

在Python中可以通过关键字进行访问,一般格式为:


字典[关键字]

当然,如果字典中没有这个关键字,Python会报告一个错误。


>>>dict_1={'name': 'LiHua', 'score':95}    # 以字典中的关键字为索引
>>>dict_1['score']
95

2.更新

在Python中更新字典的格式为:


字典名[关键字]=值

如果在字典中已经存在这个关键字,则修改它,如果不存在,则向字典中添加一个这样的新元素。


>>>dict_2={'name': 'LiHua', 'score':95}    # 创建一个字典
>>>dict_2['score'] = 85                    # 字典中已存在‘score’关键字,修改
>>>dict_2
{'name': 'LiHua', 'score':85}
>>>dict_2['age'] = 18                      # 字典中不存在‘age’关键字,添加
>>>dict_2
{'name': 'LiHua', 'score':85, 'age':18}

3.删除

在Python中删除字典有很多方法,这里介绍del函数和clear方法。其中,del的一般格式如下:


del字典名[关键字]       # 删除关键字对应的元素
del字典名              # 删除整个字典

字典的删除如下:


>>>dict_3={'name': 'LiHua', 'score':95, 'age':18}    # 创建一个字典
>>>del dict_3['score']                 # 用del函数删除score关键字
>>>dict_3
{'name': 'LiHua', 'age':18}
>>>dict_3.clear()                      # 用clear方法删除字典内容
>>>dict_3
{}

4.其他操作方法

在Python中,字典实际上也是对象,因此,Python定义了很多比较实用的操作方法,具体如表2-3所示。

表2-3 字典常用方法

2.6.3 字典的遍历

字典的遍历一般使用for循环,但建议在遍历之前使用in或not in判断一下字典的关键字是否存在。字典的遍历操作如下:


>>>dict_4={'name': 'LiHua', 'score':95 }        # 创建一个字典
>>>for key in dict_4.keys():                    # 遍历字典的关键字
>>>print(key,dict_4[key])
name LiHua
score 95
>>>for value in dict_4.values():                # 遍历字典的值
>>>print(value)
LiHua
95
>>>for item in dict_4.items():                  # 遍历字典的(关键字,值)
>>>print(item)
('name', 'LiHua')
('score', 95)