Advertisement

Python 实验 3:字典与集合 .doc

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:DOC


简介:
一、实验目的和要求: (1)熟悉字典的创建方法 (2)掌握字典中元素的访问方式 (3)了解并应用字典的基本操作技术 (4)理解集合的相关知识与操作方法 (5)掌握集合的基本运算规则 二、实验题目: 根据以下学生信息表,完成统计和查询任务: | 姓名 | 性别 | 年龄 | |------|-------|------| | 张三 | 男 | 19 | | 李四 | 女 | 18 | | 王五 | 男 | 18 | | 赵六 | 女 | 20 | | 徐伟伟|女 |19 | | 韩亮亮|女 |19 | 要求: (1)信息表中每一行存储的是与姓名相关的个人信息,建议采用字典数据结构进行存储。其中,将姓名字段作为键值,对应的学生信息包括性别和年龄,并以元组形式表示。 例如:dicStus = { 张三: (男, 19), 李四: (女, 18), 王五: (男, 18), 赵六: (女,20 ), 徐伟伟:(女 ,19 ), 韩亮亮:(女 ,19 ) } (2)算法分析: 信息表中每一行存储的是与姓名相关的个人信息,建议采用字典数据结构进行存储。其中,将姓名字段作为键值,对应的学生信息包括性别和年龄,并以元组形式表示。通过字典的遍历操作实现统计男生、女生的人数以及查找所有年龄大于18岁的学生姓名。 (3)源程序:略 Python 字典与集合实验详解 Python 字典与集合实验详解 深入解析Python字典与集合:理论与实践分析实验目标聚焦于掌握Python核心知识模块——字典(Dict)和集合(Set)。其本质是理解数据存储的基本方式,其中字典以其结构化方式组织信息,而集合则作为一种基于属性值的唯一性数据容器,其元素之间不具备顺序关联,并不允许存在重复项。该部分作为字典操作的基础结构进行处理,主要用于存储和检索数据信息。其核心功能是通过键值对的形式实现快速查找和更新操作流程。在实际应用中,字典操作能够有效提升数据管理的效率,并为后续的数据分析提供可靠的数据基础。创建字典可以通过花括号{}构造字典实例,也可以借助内置的dict函数生成。比如,字典可表示为dicStus = {张三: (男性, 19), 李四: (女性, 18)}。其中,键字段代表人物姓名,值部分包含其性别与年龄信息。获取字典中的元素信息:通过键值对的形式调用对应的函数或方法,例如在 `dicStus[张三]` 中会返回性别为男性和年龄19岁。基本操作:包括新增记录(`dicStus[新学生] = (未知, 20)`)、删除记录(`del dicStus[张三]`)、修改信息(`dicStus[李四] = (女, 19)`)。在实验题目中,在遍历字典的过程中,记录男女生人数并筛选出年龄超过18岁的学生。其核心在于使用`items()`方法,该方法返回字典中的所有键值对。```python nv = 0 # 女生人数 nan = 0 # 男生人数 list_name = [] # 年龄超过18岁的学生列表 for key, value in dicStus.items(): if value[0] == 女: nv += 1 elif value[0] == 男: nan += 1 if value[1] > 18: list_name.append(key) print( 学 生 中 女 生 共 有 {} 名 , 男 生 共 有 {} 名 n 其 中 年 龄 超 过 18 随 的 学 生 有 :n{}.format(nv, nan, list_name)) ```三、集合操作 **建立集合**:同样地,我们也可以通过使用{}符号或者set()函数来构造一个集合。例如,我们可以编写如下的代码:$s = \{\text{苹果}, \text{香蕉}, \text{橙子}\}$ 来构造一个仅包含水果名称的集合。 该功能涵盖集合运算中的并集、交集、差集以及对称差集等基本操作。具体而言,支持使用竖线符号`|`表示并集运算,圆点符号`&`代表交集运算,短横线符号`-`对应差集运算,而异或符号`^`则用于实现对称差集运算。在实验课题设置方面,并未对集合操作进行直接的拓展。然而,在各种应用场景下被广泛应用的数据处理系统中,集合运算常用于实现数据去重、判断元素是否存在以及执行各类集合运算等基础功能。四、词典被应用于文本统计分析在进行文本处理时,字典也发挥着重要作用。如,在计算每个词频时,先需要对文本进行预处理,包括去除标点符号和将其转为小写。接着,可以通过调用split()方法将文本分割成一个单词列表。最后,遍历这个单词列表,并利用字典来记录每个词的出现频率。```python s = … # 文本内容 # 预处理 s = s.lower() s = s.translate(str.maketrans(, , string.punctuation)) # 统计单词 word_dict = {} words = s.split() for word in words: if word in word_dict: word_dict[word] += 1 else: word_dict[word] = 1 # 输出前5个出现次数最多的单词 top_5_words = sorted(word_dict.items(), key=lambda x: x[1], reverse=True)[:5] for word, count in top_5_words: print(f{word}: {count}次) ```该代码通过计算在文本中的每一个单词的出现频率,并输出五个最频繁出现的单词。参与该实验后,本实验有助于加深你对Python字典和集合用法的理解,并掌握这些数据结构的实际运用方法,这将显著提升你的Python编程能力。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Python学习记录——
    优质
    本篇博客是个人Python学习过程中的总结和思考,主要围绕集合与字典这两种数据结构进行探讨,分享了它们的基本操作、应用场景以及一些实用技巧。适合编程初学者参考学习。 Python学习笔记——集合与字典 1. 集合的基本概念 在Python中,集合是一种重要的数据结构,它反映了数学中的无序且元素不重复的组合特性。这些元素必须是固定的数据类型,并支持哈希运算以便于快速查找和操作。 我们可以使用大括号 `{}` 或 `set()` 函数来创建一个集合实例: ```python s = {1, dream, 2, (3, 4)} ``` `set(x)` 接收任何组合数据类型的参数,并返回一个新的不重复元素的集合。Python 提供了多种方法操作集合,如 `add()`, `clear()`, `copy()`, `pop()`, `discard()` 和 `remove()` 等。 2. 字典的基本概念 字典是另一种重要的数据结构,用于通过键来查找对应的值。它以键-值对的形式存储信息。创建一个字典可以使用大括号 `{}`: ```python D = {China: Beijing, France: Paris, USA: Washington DC} ``` 访问字典中的特定元素可以通过其相应的键实现,例如 `D[China]` 返回 `Beijing`。我们还可以通过中括号 `[key]` 赋值来修改字典的键-值对。 Python 的字典提供了多种方法以支持不同的操作需求,包括:获取所有键 (`keys()`)、获取所有值 (`values()`)、获取所有的键-值对 (`items()`)、安全地访问特定键对应的值(`get(key, default)`)、移除并返回一个随机的键值对(`popitem()`)以及清空字典(`clear()` )。 遍历字典时,可以使用 `for key in D:` 来获取所有的键。如果需要同时获得键和值,则可利用 `D.items()` 方法: ```python for key, value in D.items(): print(fKey: {key}, Value: {value}) ``` 总结来说,在Python编程中,集合和字典都是处理数据的有效工具:前者用于去重及成员关系测试;后者则用来存储并快速查找键对应的值。它们均为可变类型,可以动态地添加或删除元素,并提供了丰富的操作方法以方便程序的编写与维护。
  • Python.pdf
    优质
    本PDF文件深入浅出地介绍了Python编程语言中的字典和集合数据结构。通过实例讲解了它们的基本操作、特性和应用场景,帮助读者掌握高效的数据处理技巧。 Python字典是一种可变容器模型,且称为“关联数组”或“散列表”,它由键值对组成,允许通过键快速检索对应的值。集合是另一个数据结构,它是无序不重复元素序列。 在实际应用中,字典和集合提供了许多有用的方法来操作这些数据类型。例如,可以使用`dict.keys()`方法获取所有字典中的键的列表;而集合支持诸如并集、交集等数学运算符的操作方式。 需要注意的是,在Python 3.7版本之后,字典保持了插入顺序,这意味着当你遍历一个字典时,元素会按照它们被添加到字典中的顺序出现。对于集合来说,则是无序的且不允许重复项的存在。
  • Python元组、
    优质
    本教程将深入讲解Python中的三种重要数据结构:元组(Tuple)、集合(Set)与字典(Dictionary),涵盖它们的特点、应用场景及操作方法。 列表、元组和字符串属于序列类型的数据结构,而字典则属于映射类型,并且集合不属于这两种类型中的任何一种。 在序列数据结构中,每个元素都有一个特定的编号(索引)用于标识其位置。 1. 元组 (tuple): - 与列表相似,但元组是不可变的。可以将其视为无法修改内容的列表。 - 使用小括号 () 包含所有元素,并用逗号 , 分隔相邻元素。 示例创建一个空元组: ```python t1 = () ``` 元组中的单个元素不能被删除,但可以通过使用 `del` 关键字来整个删除并重新分配一个新的元组。例如: ```python t2 = (1, 2, 3) del t2 ``` 请注意,`del` 是 Python 的关键字,并非列表或字典的方法,但它可以用于从这些数据结构中移除元素。
  • Python学习心得小结
    优质
    本篇文章主要总结了作者在学习Python中字典和集合过程中的一些心得体会,旨在帮助初学者更好地理解和运用这两种重要的数据结构。文中不仅包含了理论知识,还结合了一些实际的应用案例来加深理解。通过阅读本文,读者可以掌握如何高效地使用字典与集合解决实际问题,并且能够避免一些常见的陷阱。 Python中的字典(Dictionary)和集合(Set)是处理数据的重要工具。 **字典(Dictionary)** 在Python里,字典是一种映射类型的数据结构,允许通过键来访问或操作值。它没有固定的顺序,在遍历时不能保证插入的顺序一致。作为键的对象必须不可变,如字符串、数字和元组;而值可以是任何类型的对象。 创建字典的基本语法如下: ```python dict = {key1: value1, key2: value2, ...} ``` 例如: ```python d1 = {x: 1, y: 2, z: 3} ``` 字典支持的操作包括: - `len(D)`:返回键值对的数量。 - `D[k]`:获取对应键k的值,若不存在则抛出`KeyError`异常。 - `D[k] = x`:设置键k对应的值为x。 - `del D[k]`:从字典中移除键k及其关联的值。 - `k in D`:判断键k是否存在于字典D。 此外,还有以下方法: - `D.clear()`:清除所有元素。 - `D.copy()`:创建浅复制的新字典。 - `D.get(k[,d])`:获取键对应的值或返回默认的None或其他指定值。 - `D.items()`:以元组形式列出所有的`(key, value)`对。 - `D.values()`:列出所有值。 - `D.keys()`:列出所有键名。 - `D.pop(k[,d])`:移除并返回键k对应的值,如果未设置默认值且该键不存在,则抛出异常。 - `D.popitem()`:随机删除一个`(key, value)`对。 **集合(Set)** Python中的集合是另一种无序数据结构,只包含唯一元素。这些元素必须可哈希的、不可变的对象。 创建集合的基本语法如下: ```python set = {element1, element2, ...} ``` 例如: ```python s1 = {1, 2, 3} ``` 集合支持的操作包括: - `len(S)`:返回S中的元素数量。 - `element in S`:检查元素是否在S中存在。 - `S.add(element)`:向集合添加一个新元素。 - `S.remove(element)`:从集合移除指定的元素。 - `S.union(other_set)`:得到两个集合的并集。 - `S.intersection(other_set)`:获取交集部分。 - `S.difference(other_set)`:返回不在另一个集合中的元素组成的新的集合实例。 - `S.symmetric_difference(other_set)`:获得两个集合中不重复的部分。 同时,也有类似字典的方法来操作和更新集合内容: - `copy()` 方法创建浅复制的新对象, - 更新方法如`update()`, `intersection_update()`, `difference_update()`, 和`symmetric_difference_update()`等用于直接修改当前的集合实例。 总结来说,在Python编程中可以根据具体需求选择使用字典还是集合,以达到提高代码效率和清晰度的目的。
  • 信号处理3).doc
    优质
    《数字信号处理实验(3)》文档包含了针对数字信号处理课程中第三阶段的一系列实验指导和任务说明,旨在通过实践加深学生对理论知识的理解与应用。 本实验是数字信号处理课程中的第三个实验,主要涉及IIR(无限脉冲响应)与FIR(有限脉冲响应)滤波器的设计。通过该实验,学生能够熟悉FIR滤波器设计流程,并根据不同的性能指标设计相应的滤波器;同时也能掌握使用FDATool和SPTool工具的基本操作方法。整个实验在Matlab信号处理工具箱环境下进行。 具体而言,在本次实验中,参与者需要利用模拟原型法与窗函数法分别创建一个IIR低通滤波器F1以及一个FIR低通滤波器F2。这两个设计需满足以下性能标准:通带归一化频率wp为0.5,阻带归一化频率ws为0.6;同时要求在阻带上至少达到40dB的衰减,在通带上波动不超过1dB。
  • Python中的元组、
    优质
    本教程深入浅出地讲解了Python编程语言中元组、字典和集合的概念与应用,帮助初学者掌握这些数据结构的特点及使用方法。 在Python编程语言中,元组、字典以及集合是三种重要的数据结构类型,它们各自具有独特的特性和用途。 1. **元组(Tuples)** 元组是一种不可变的数据序列形式,这意味着一旦创建后就不能对其进行修改。其定义方式为使用圆括号`()`及逗号分隔的元素构成。例如: `tup1 = (Google, Runoob, 1997, 2000)` 或 `(1, 2, 3, 4, 5)`. - **单个元素元组**:创建只有一个值的元组时,需要在该值后添加逗号以区分普通数值和单一元素的元组。例如:`(50,)` - **访问操作**:通过索引获取特定位置的数据项。 - **解包功能**:可以将一个元组中的所有数据一次性分配给多个变量使用,如 `a, b, c, d = my_tuple`。 - 尽管不能直接修改元素,但可以通过创建新的元组合并或更改现有内容。 2. **可变对象** 与不可改变的元组不同的是,列表允许对其内部的数据进行添加、删除和替换操作。例如:通过索引位置赋值 `lst[index] = new_value` 或使用方法如 `.append(value)` 来增加元素等。 3. **字典(Dictionaries)** 字典是一种基于键-值对的存储结构,在其中每个独一无二的关键都可以快速定位到其关联的数据项上。这种数据类型通常以花括号 `{}` 表示。 - 基本介绍:如 `dict1 = {name: Alice, age: 30}` - 操作: - 查找操作:通过键来检索对应的值,例如 `dict1[name]` - 添加和修改数据项的操作 - 新增或更新一个键-值对,比如 `dict1[city] = New York`。 - 删除指定的键与它的关联信息,使用命令如 `del dict1[key]`。 - 特性:字典中的每个键都是不可变类型(例如字符串或者元组)。 - 内置函数: - 使用 `len(dict1)` 来获取当前字典内包含的数据项数量; - 利用 `keys()`, `values()` 和 `items()` 方法来遍历所有的键、值或键-值对。 4. **集合(Sets)** 集合是一种无序且不重复的元素组合,使用大括号 `{}` 或者内置函数`set([])`创建。 - 操作: - 查找操作:可以利用成员资格测试来检查某个特定元素是否存在于集合中(如 `element in set1`); - 添加和删除数据项的方法 - 使用 `.add(element)` 向集合内增加新的项目,或使用`.remove(element)`移除已有条目。 - 集合函数:包括并集、交集以及差集等操作。 理解这些不同的数据结构及其特点,并且能够根据实际需求选择合适的数据类型来解决问题是Python编程中的关键技能。
  • H3C经.zip
    优质
    《H3C经典实验集合》包含了H3C网络设备相关的基础配置与高级应用的经典实验案例,适合网络技术人员学习参考。 H3C 综合实验包括BGP综合实验、GRE+IPSEC(ike)实验、OSPF综合实验以及VRRP+DHCP+RSTP综合实验。此外,还有路由综合实验,该实验涵盖了BGP、OSPF、RIP、PPPOE、L2TP、GRE和IPSEC等多种技术的结合应用。
  • Python列表、、元组和详解
    优质
    本教程全面解析Python中的四大数据结构:列表、字典、元组与集合,涵盖其特点、用法及应用场景,助你精通数据操作。 在 Python 中,列表是一种基本的数据结构,用于存储有序的对象集合。它可以包含各种类型的对象如数字、字符串、其他列表、字典或元组等。由于是可变的,列表支持原地修改操作,并且与字符串类似的操作包括合并(使用加号`+`)、重复(使用星号`*`)、索引和切片。 创建一个空列表可以采用中括号 `[]` 的形式;例如:`list = [1, 2, 3]` 访问或修改元素可以通过索引完成,如 `list[0]`; 若要获取子集,则可以用到切片功能,比如 `list[1:3]` 插入新值可以使用方法 `insert()`, 如将数字10加入列表的第二个位置:`list.insert(2, 10)`. 删除元素则可以通过语句 `del list[index]` 完成。 排序操作可通过调用内置函数如 `sort()` 来实现,用于对列表进行升序排列;而倒转则是通过方法 `reverse()` 查找特定值的位置可以使用索引方法 `index(value)` ,统计某个元素的数量则可以通过计数方法 `count(element)` 字典是另一种基本的数据结构,在 Python 中以键-值的形式存储数据。元组与列表相似,但它是不可变的;而集合则是用来存放不重复无序对象的一种方式。 这些类型(列表、字典、元组和集合)都是用于处理不同类型数据的基本构建块。