news 2026/5/2 19:57:13

思考与练习(第九章 组合数据类型)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
思考与练习(第九章 组合数据类型)

一、单项选择题(本大题共 10 小题)

1、关于 Python 中的列表,以下说法正确的是:

① 列表中的元素必须是相同类型

② 列表是有序、可变的序列类型

③ 列表可以使用圆括号 () 定义

④ 列表的元素必须是不可变类型

2、以下代码的输出结果是:

a = [1, 2, 3, 4, 5]print(a[1:4])

① [1, 2, 3, 4]

② [2, 3, 4]

③ [2, 3, 4, 5]

④ [1, 2, 3]

3、创建一个空集合的正确方法是:

① s = {}

② s = []

③ s = set()

④ s = ()

4、关于 Python 元组(tuple),以下说法错误的是:

① 元组可使用圆括号 () 定义

② 元组是不可变类型

③ 元组可以包含任意类型的元素,包括可变类型

④ 单元素元组必须使用 (element) 的形式

5、以下代码的输出结果是:

dict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'c': 4}dict1.update(dict2)print(dict1)

① {'a': 1, 'b': 2, 'c': 4}

② {'a': 1, 'b': 3, 'c': 4}

③ {'a': 1, 'b': 2, 'b': 3, 'c': 4}

④ 程序出错

6、关于集合运算,以下说法正确的是:

① 集合支持索引访问

② 集合中的元素是有序的

③ 集合可以使用 + 运算符进行合并

④ 集合中的元素必须是可哈希的

7、以下代码的输出结果是:

t = (1, 2, [3, 4])t[2][0] = 5print(t)

① (1, 2, [3, 4])

② (1, 2, [5, 4])

③ 程序出错,元组不可变

④ (1, 2, 5)

8、使用字典的哪个方法可以安全地获取值,当键不存在时返回默认值:

① get()

② setdefault()

③ pop()

④ update()

9、以下代码的输出结果是:

s1 = {1, 2, 3}s2 = {3, 4, 5}print(s1 | s2)

① {1, 2, 3, 4, 5}

② {3}

③ {1, 2}

④ {4, 5}

10、关于列表推导式,以下代码的输出结果是:

result = [x*2 for x in range(5) if x % 2 == 0]print(result)

① [0, 2, 4, 6, 8]

② [0, 4, 8]

③ [0, 2, 4]

④ [0, 4]

二、判断题(本大题共 5 小题)

1、列表和元组都是有序序列,可以通过索引访问元素。( )

2、字典的键必须是不可变类型,如字符串、数字或元组。( )

3、集合中的元素可以是列表或其他集合。( )

4、使用切片操作可以修改元组中的元素。( )

5、Python 中的字典从 3.7 版本开始保证插入顺序。( )

三、多项选择题(本大题共 5 小题)

1、以下哪些是 Python 的组合数据类型?

① 列表

② 字符串

③ 字典

④ 集合

2、关于列表操作,以下哪些说法是正确的?

① 可以使用 append() 方法在列表末尾添加元素

② 可以使用 remove() 方法删除指定元素

③ 列表可以使用 sort() 方法进行原地排序

④ 列表可以使用 + 运算符进行合并

3、以下哪些操作可以用于字典?

① 使用 in 关键字检查键是否存在

② 使用 len() 获取键值对数量

③ 使用 items() 方法遍历键值对

④ 使用索引访问值,如 dict[0]

4、关于集合,以下哪些说法是正确的?

① 集合中的元素是唯一的

② 集合支持交集、并集、差集运算

③ 集合是有序的数据结构

④ 可以使用 add() 方法添加元素

5、以下哪些是创建字典的正确方法?

① d = {'a': 1, 'b': 2}

② d = dict(a=1, b=2)

③ d = dict([('a', 1), ('b', 2)])

④ d = {x: x**2 for x in range(3)}

四、程序填充题(本大题共 5 小题)

1、以下程序用于统计列表中元素的频率。请在下划线处补全代码。

numbers = [1, 2, 3, 2, 1, 3, 4, 5, 4, 2]frequency = {} for num in numbers: if num in frequency: frequency[num] += 1 else: ________ = 1 print(frequency)

2、以下程序使用集合找出两个列表的共同元素。请在下划线处补全代码。

list1 = [1, 2, 3, 4, 5]list2 = [4, 5, 6, 7, 8] set1 = ________set2 = ________common = set1 ________ set2 print("共同元素:", common)

3、以下程序使用列表推导式生成平方数列表。请在下划线处补全代码。

# 生成 1 到 10 的平方数列表squares = [________ for x in range(1, 11)]print(squares)

4、以下程序用于翻转字典的键和值。请在下划线处补全代码。

original = {'a': 1, 'b': 2, 'c': 3}reversed_dict = {} for key, value in original.items(): ________ = key print(reversed_dict)

5、以下程序使用元组存储学生信息并计算平均分。请在下划线处补全代码。

students = [("艾婉婷", 85), ("岳露珊", 92), ("鞠子舟", 78)] total = 0for name, score in ________: total += score average = ________ / len(students)print(f"平均分: {average:.2f}")

五、编程题(本大题共 5 小题)

1、列表操作综合题

编写程序,实现以下功能:

(1)创建一个包含 10 个随机整数(1~100)的列表

(2)找出列表中的最大值、最小值和平均值

(3)将列表按升序排序并输出

(4)删除列表中的重复元素

(5)主要变量:numbers, max_val, min_val, avg

2、字典统计应用题

编写程序,统计一段文本中每个单词出现的次数。

要求:

(1)输入一段英文文本(可以硬编码在程序中)

(2)将文本转换为小写,去除标点符号

(3)统计每个单词的出现频率

(4)输出出现频率最高的 3 个单词

(5)主要变量:text, words, word_count

3、集合运算题

编写程序,处理两个选修课班级的学生名单:

班级 A 有学生:张三、李四、王五、赵六

班级 B 有学生:王五、赵六、孙七、周八

要求:

(1)找出两个班级都有的学生(交集)

(2)找出只在班级 A 的学生(差集)

(3)找出所有学生(并集)

(4)主要变量:class_a, class_b, intersection, difference, union

4、元组和列表转换题

编写程序,实现以下功能:

(1)创建一个包含 5 个学生信息的元组列表,每个元组包含(姓名, 成绩)

(2)将成绩大于等于 90 分的学生筛选出来放进新列表

(3)将筛选结果按成绩降序排序

(4)输出优秀学生(成绩>=90)名单

(5)主要变量:students, excellent_students

5、综合应用题:学生成绩管理系统

编写一个简单的学生成绩管理系统:

(1)使用字典存储学生信息,键为学生姓名,值为成绩列表

(2)实现添加学生、添加成绩、查询成绩、计算平均分功能

(3)可以统计每个学生的平均分和全班平均分

(4)主要变量:students, name, scores

附:参考答案与解析

“点赞有美意,赞赏是鼓励”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 5:41:35

别“洗稿”了,试试“思维重构”:宏智树AI让论文自己“长”出来

“传统的同义词替换已经救不了我的论文了。”一位计算机博士生发现,简单的改写后,他的论文AIGC率不降反增,直到使用了思维逻辑重构功能。 01 降重困境:传统方法为何失灵? 在学术审核日益严格的时代,高校不…

作者头像 李华
网站建设 2026/4/28 17:58:07

Material Intro:为你的Android应用打造惊艳开场白

Material Intro:为你的Android应用打造惊艳开场白 【免费下载链接】material-intro A simple material design app intro with cool animations and a fluent API. 项目地址: https://gitcode.com/gh_mirrors/ma/material-intro 还记得第一次打开某个应用时&…

作者头像 李华
网站建设 2026/4/28 20:11:36

【Open-AutoGLM启动报错排查指南】:20年专家亲授5大高频故障修复方案

第一章:Open-AutoGLM启动报错排查概述在部署和运行 Open-AutoGLM 框架时,开发者常遇到服务无法正常启动的问题。这些问题可能源于环境依赖缺失、配置文件错误或资源限制等多种因素。本章聚焦于常见启动阶段的异常现象,提供系统性排查思路与解…

作者头像 李华
网站建设 2026/4/27 3:12:17

FaceFusion GPU利用率监控方法:确保资源高效利用

FaceFusion GPU利用率监控方法:确保资源高效利用 在深度学习驱动的视觉应用日益普及的今天,人脸替换技术正从实验室走向影视、社交、虚拟偶像等真实场景。FaceFusion 作为当前最受欢迎的开源换脸工具之一,凭借其高保真度与模块化设计赢得了广…

作者头像 李华
网站建设 2026/5/2 18:35:54

Open-AutoGLM部署性能翻倍秘籍:从内存对齐到缓存复用的6大优化实践

第一章:Open-AutoGLM内存优化的底层逻辑在大规模语言模型推理过程中,内存占用是制约性能与部署效率的核心瓶颈。Open-AutoGLM通过重构计算图调度与显存管理机制,在不牺牲模型精度的前提下显著降低运行时内存消耗。动态张量生命周期管理 传统框…

作者头像 李华
网站建设 2026/4/30 0:18:27

基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的前后端分离昆虫识别检测系统(DeepSeek智能分析+web交互界面)

一、 系统引言 随着精准农业和智慧植保的快速发展,利用计算机视觉技术对农作物病虫害进行快速、准确的识别与监测,已成为现代农业信息化的重要研究方向。昆虫作为影响农作物健康生长的关键生物因子,其早期发现与种类鉴定对于有效实施防治措施…

作者头像 李华