第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

相关推荐
言乐633 分钟前
Python语音检索
开发语言·python·django·virtualenv·pygame
泡茶喝茶写代码1 小时前
A股量化数据工程:从 REST 接口到策略信号(第 1 篇):指数列表与实时行情接入
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据接口
happylifetree1 小时前
Python34-35:核心语法-流程控制语句-循环-综合案例
python
吃饱了得干活1 小时前
Agent 的记忆与工具:从上下文窗口到 MCP
python·agent·mcp
燐妤2 小时前
LangGraph-复习总览
python·ai·面试·agent·学习方法·langgraph
尹人入圣2 小时前
市面上IP驱动产业新场景新工具
运维·网络·python·tcp/ip
打工仔折腾 AI2 小时前
从BPE到SentencePiece:Transformer分词原理与Python实战对比
android·人工智能·python·深度学习·langchain·transformer·ai agent 实战
骑着蜗牛撵大象3273 小时前
Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南
前端·python
流形填表3 小时前
题库迁移实战:Excel中间格式与列映射
python·excel
东方芷兰3 小时前
Agent 技术摘要 06 —— Harness、原生视觉、Jev、mmproj、dsh
人工智能·笔记·python·ai·langchain·ai编程