第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

相关推荐
benchmark_cc9 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
Python+9910 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
dunge202611 小时前
2026年7月最新ChatGPT Plus / Pro 与 Codex:当 AI Agent 最新5.6版本来袭,必须理解事务、幂等与补偿
开发语言·人工智能·python
小白学大数据13 小时前
两周完成爬虫技术栈升级:Scrapy 迁移 Crawlo 的路径与取舍
爬虫·python·scrapy
用户83562907805113 小时前
使用 Python 在 Excel 中添加和自定义文本框
后端·python
总裁余(余登武)14 小时前
python多个py文件打包【解决exe不能移动运行bug】
python
kisloy14 小时前
【python零基础教程第24讲】代码规范与质量管控
开发语言·python
xywww16815 小时前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
许彰午16 小时前
100_Python面试常见问题汇总
java·python·面试
皓悦编程记16 小时前
【YOLO26 系列】基于YOLO26的垃圾分类检测系统【python源码+Pyqt5界面/WEB+数据集+训练代码】
python·qt·分类