第9课 字典

一、什么是字典(Dictionary)

大家回想一下,使用《新华字典》查找生字的过程,通常有两种方式:一种是根据读音查找,另一种是根据偏旁部首查找。无论哪一种,都有一个共同的特点:根据关键信息,查找目标内容。

Python将关键信息简化成"键(key)",将目标内容简化成"值(value)",键和值是一一对应的,这种通过键值对存储数据的模型,就是字典(Dictionary)。

字典的具体表现形式如下:字典变量 = {key1: value1, key2: value2}。每一组键值对键和值使用冒号(:)分隔,每组键值对之间,使用逗号(,)分割,用大括号{}将所有的键值对括起来。

重点注意:

(1)键是字典操作数据的重要凭证,所以,键必须是唯一的,且数据类型是不可变的。理论上,可哈希(hash)的数据类型都可以作为key。

(2)字典不是序列,所以没有顺序,也没有索引。

二、字典的创建(声明)

1、直接创建。按照字典的格式书写即可。

2、用dict()方法创建字典。这里只需掌握使用关键字存储字典信息。

三、字典的操作

1、元素访问:

字典中的每一组键值对就是字典的一个元素,常见的访问方式如下:

(1)使用键(key)直接访问。

操作方法如下:字典变量名[键],当键不存在时,报错KeyError。

(2)使用字典的get()方法访问。

操作方法如下:字典变量名.get(键),当键不存在时,返回空值。

2、元素的修改与添加:

在直接使用key访问的基础上,赋值即可。

操作方法:字典变量名[key] = value,如果key存在,将key对应的值更新成value;如果key不存在,就添加一个键为key,值为value的元素。

3、元素删除:

(1)使用del命令删除元素。

操作方法:del 字典变量名[key],如果key不存在,会报错。

(2)使用字典的pop()方法删除元素。

操作方法:字典变量名.pop(key[, d]),删除key对应的元素,当key不存在的时候,如果设定了默认值d,就会返回默认值,否则会报错。

4、清空字典和删除字典:

使用字典的clear()方法可以清空字典,使用del命令可以删除整个字典。

清空字典是指删除字典里的所有元素,变成空字典;删除字典不仅会删除字典里所有的元素,字典本身也会删除,什么都不剩下。

5、获取字典的长度:

使用len()方法可以获取字典的长度。操作方法与列表一样。

6、使用in检查键是否在字典中:

默认检查的key是否存在字典中,可以使用字典的keys()方法获取字典的key列表。

同样的,如果想查看字典所有的value列表,可以使用字典的values()方法,获取到字典的values列表,就能判断某个值是否存在字典的值中。

四、模拟考题

1、下面代码的输出结果是( )。

python 复制代码
a = {'数学': 90, '语文': 93, '英语': 89, '科学': 98}
print(a['数学'])

A. 93

B. 89

C. 90

D. 98

2、下面代码的输出结果为( )。

python 复制代码
score = {'语文': 95, '数学': 93, '英语': 97}
print(score['语文'] + score['数学']//2)

A. 141

B. 141.5

C. 94

D. 94.0

3、以下程序的运行结果是( )。

python 复制代码
a = {'name': '张三', 'age': 12, 'class': 3}
a['age'] = 15
a['school'] = '沛县中学'
print('age:', a['age'])
print('school:', a['school'])

A. age: 29

school: 沛县中学

B. age: 15

C. age: 15

school: 沛县中学

D. school: 沛县中学

-->参考答案往下翻<--

-->参考答案<--

1~3:BAC

相关推荐
万千思绪8 分钟前
【PyCharm 2025.1.2配置debug】
ide·python·pycharm
微风粼粼2 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
云天徽上2 小时前
【PaddleOCR】OCR表格识别数据集介绍,包含PubTabNet、好未来表格识别、WTW中文场景表格等数据,持续更新中......
python·ocr·文字识别·表格识别·paddleocr·pp-ocrv5
你怎么知道我是队长2 小时前
python-input内置函数
开发语言·python
叹一曲当时只道是寻常2 小时前
Python实现优雅的目录结构打印工具
python
hbwhmama3 小时前
python高级变量XIII
python
费弗里4 小时前
Python全栈应用开发利器Dash 3.x新版本介绍(3)
python·dash
dme.4 小时前
Javascript之DOM操作
开发语言·javascript·爬虫·python·ecmascript
加油吧zkf4 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
t_hj4 小时前
python规划
python