实验课程

THIS NAME

实验课程

当前位置: 首页 >> 实验课程 >> 正文

计算机程序设计(Pyhton)-字典

发布日期:2024-03-04    作者:赵硕     来源:     点击:

字典

一、实验目的

1、了解字典。

2、学会使用字典,调用字典中的元素。

3、学会修改字典中的元素、向字典中添加元素。

4、学会删除字典中的元素。

5、学会如何使用字典推导式。

二、实验内容

完成字典的创建、字典元素的访问、字典元素的添加和修改、字典元素的删除和字典推导式的编程。

三、实验原理及说明

1. 什么是字典

Python 字典(dict)是一种无序的、可变的序列,它的元素以“键值对(key-value)”的形式存储。相对地,列表(list)和元组(tuple)都是有序的序列,它们的元素在底层是挨着存放的。字典类型是 Python 中唯一的映射类型。“映射”是数学中的术语,简单理解,它指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。字典中,习惯将各元素对应的索引称为键(key),各个键对应的元素称为值(value),键及其关联的值称为“键值对”。字典类型很像学生时代常用的新华字典。我们知道,通过新华字典中的音节表,可以快速找到想要查找的汉字。其中,字典里的音节表就相当于字典类型中的键,而键对应的汉字则相当于值。总的来说,字典类型所具有的主要特征下:

图1

Python 中的字典类型相当于 Java 或者 C++ 中的 Map 对象。和列表、元组一样,字典也有它自己的类型。Python 中,字典的数据类型为 dict,通过 type() 函数即可查看。

2. Python创建字典

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号{} ,格式如下所示:d = {key1 : value1, key2 : value2, key3 : value3 }。注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

    IMG_256

图2

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。一个简单的字典实例:tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

    IMG_256

图3

3. 创建空字典

使用大括号 { } 创建空字典,也可以使用内建函数 dict() 创建字典。

4. 访问字典

列表和元组是通过下标来访问元素的,而字典不同,它通过键来访问对应的值。因为字典中的元素是无序的,每个元素的位置都不固定,所以字典也不能像列表和元组那样,采用切片的方式一次性访问多个元素。Python中访问字典元素的具体格式为:dictname[key]。其中,dictname 表示字典变量的名字,key 表示键名。注意,键必须是存在的,否则会抛出异常。Python 更推荐使用dict类型提供的get()方法来获取指定键对应的值。当指定的键不存在时,get() 方法不会抛出异常。get() 方法的语法格式为:dictname.get(key[,default])。其中,dictname 表示字典变量的名字;key表示指定的键;default 用于指定要查询的键不存在时,此方法返回的默认值,如果不手动指定,会返回None。注意:当键不存在时,get() 返回空值None,如果想明确地提示用户该键不存在,那么可以手动设置 get()的第二个参数。

5. 字典元素的添加和修改

为字典添加新的键值对很简单,直接给不存在的 key 赋值即可,具体语法格式如下:dictname[key] = value。其中dictname 表示字典名称;key 表示新的键;value表示新的值。

6. 字典修改键值对

Python字典中键(key)的名字不能被修改,我们只能修改值(value)。字典中各元素的键必须是唯一的,因此,如果新添加元素的键与已存在元素的键相同,那么键所对应的值就会被新的值替换掉,以此达到修改元素值的目的。

7. 字典删除键值对

如果要删除字典中的键值对,还是可以使用del语句。

8. 字典推导式语法

语法一:key:字典中的keyvalue:字典中的valuedict.items():序列;

condition:条件表达式;key_exp:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的keyvalue并作key_expvalue_exp处理;value_exp:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的keyvalue并作key_expvalue_exp处理。

{key_exp:value_exp for key,value in dict.items() if condition}

语法二:key:字典中的keyvalue:字典中的valuedict.items():序列;condition:条件表达式;key_exp:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的keyvalue并作key_expvalue_exp处理;value_exp1:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的keyvalue并作key_expvalue_exp1处理;value_exp2:在for循环中,如果条件表达式condition不成立(即条件表达式不成立),返回对应的key,value并作key_expvalue_exp2处理。

{key_exp:value_exp1 if condition else value_exp2 for key,value in dict.items()}

四、实验设备

PC机、头歌实践教学平台

五、实验方法

在头歌平台上进行编程,完成如下程序:

1、字典的创建,根据提示,在右侧编辑器补充代码。

图4

2、字典元素的访问,根据提示,在右侧编辑器补充代码。

图5


3、字典元素的添加和修改,根据提示,在右侧编辑器补充代码。

图6

4、字典元素的删除,根据提示,在右侧编辑器补充代码。

图7

5、字典推导式,根据提示,在右侧编辑器补充代码。

图8

上一条:LabVIEW测试技术-读取实验箱AD采集的数据实验 下一条:企业安全建设与等级保护-通信传输实验

关闭