Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
Python 学习笔记第五期——组合数据类型列表、元组、集合与字典精讲——核心知识点自测与详解本自测解析针对 Python 学习笔记系列第五期组合数据类型列表、元组、集合与字典精讲的核心内容。共 10 题每题包含题目回顾、考查知识点、详细解答与分析帮助读者巩固 Python 组合数据类型的核心技能。文章索引Python 学习笔记第五期——组合数据类型列表、元组、集合与字典精讲更多自我检测系列欢迎浏览每日知识点小问答我的主页AOwhisky这里有更多运维系统性知识整理和其他有趣内容欢迎与我一起探讨学习~第五期组合数据类型第 1-5 题题目一序列类型概述与索引机制题目Python 中的序列类型包括哪些请说明序列类型的“双向索引”机制并写出以下代码的输出结果。pythontext Python print(text[0]) print(text[-1]) print(text[1:4]) print(text[::-1])考查知识点序列类型概述 —— 第五期 §1双向索引与切片 —— 第五期 §1详细解答序列类型包括序列类型特点是否可变字符串str字符序列❌ 不可变列表list任意元素序列✅ 可变元组tuple任意元素序列❌ 不可变双向索引机制text字符串 Python 的索引示例 正向索引 0 1 2 3 4 5 ┌────┬────┬────┬────┬────┬────┐ │ P │ y │ t │ h │ o │ n │ └────┴────┴────┴────┴────┴────┘ 反向索引 -6 -5 -4 -3 -2 -1代码输出pythonprint(text[0]) # P正向索引第1个字符 print(text[-1]) # n反向索引第1个字符即最后1个 print(text[1:4]) # yth切片索引1到3不包含4 print(text[::-1]) # nohtyP步长为-1反转字符串题目二列表的创建与访问题目请写出以下代码的输出结果并说明列表切片[start:end:step]中三个参数的含义。pythonfruits [苹果, 香蕉, 橙子, 葡萄, 西瓜] print(fruits[0]) print(fruits[-1]) print(fruits[1:4]) print(fruits[::2]) print(fruits[::-1])考查知识点列表的创建与访问 —— 第五期 §2.1、§2.2切片语法 —— 第五期 §2.2详细解答代码输出text苹果 西瓜 [香蕉, 橙子, 葡萄] [苹果, 橙子, 西瓜] [西瓜, 葡萄, 橙子, 香蕉, 苹果]切片参数含义参数含义示例start起始索引包含fruits[1:4]从索引1开始end结束索引不包含fruits[1:4]到索引3结束step步长每隔几个取一个fruits[::2]每隔2个取1个⚠️ 注意切片返回的是新列表原列表不变。[::-1]是反转列表的经典写法。题目三列表的添加与删除操作题目请写出以下代码的输出结果并说明append()、extend()、insert()三个方法的区别。pythonnumbers [1, 2, 3] numbers.append(4) print(numbers) numbers.extend([5, 6]) print(numbers) numbers.insert(0, 0) print(numbers)考查知识点列表添加元素 —— 第五期 §2.3三种添加方法的区别 —— 第五期 §2.3详细解答代码输出text[1, 2, 3, 4] [1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6]三种添加方法对比方法作用示例结果append(x)在末尾添加单个元素[1,2].append(3)[1,2,3]extend(iterable)在末尾添加多个元素逐个[1,2].extend([3,4])[1,2,3,4]insert(i, x)在指定位置插入元素[1,2,3].insert(1,99)[1,99,2,3]⚠️ 易错点append([3,4])会将整个列表作为一个元素添加结果为[1,2,[3,4]]而extend([3,4])会逐个添加元素结果为[1,2,3,4]。题目四列表的排序与反转题目请写出以下代码的输出结果并说明sort()和sorted()的区别。pythonnumbers [6, 2, 5, 3, 1, 4] numbers.sort() print(numbers) numbers.sort(reverseTrue) print(numbers) original [3, 1, 4, 1, 5] new_sorted sorted(original) print(original) print(new_sorted)考查知识点列表排序 —— 第五期 §2.5sort()vssorted()—— 第五期 §2.5详细解答代码输出text[1, 2, 3, 4, 5, 6] [6, 5, 4, 3, 2, 1] [3, 1, 4, 1, 5] [1, 1, 3, 4, 5]sort()vssorted()对比对比维度list.sort()sorted(list)是否原地修改✅ 是修改原列表❌ 否返回新列表返回值None排序后的新列表适用场景不需要保留原列表需要保留原列表其他排序方法方法作用示例reverse()反转列表顺序原地修改[1,2,3].reverse()→[3,2,1]sort(keylen)按指定规则排序按字符串长度排序题目五列表推导式题目请分别用传统for循环和列表推导式生成 1 到 10 的平方数列表。列表推导式相比传统for循环有哪些优势考查知识点列表推导式 —— 第五期 §2.6详细解答传统for循环pythonsquares [] for i in range(1, 11): squares.append(i ** 2) print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]列表推导式pythonsquares [i ** 2 for i in range(1, 11)] print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]带条件的列表推导式扩展python# 只保留 1~20 中的偶数 evens [i for i in range(1, 21) if i % 2 0] print(evens) # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]列表推导式的优势优势说明代码简洁一行代码替代多行循环可读性好逻辑清晰表达直观性能略优在简单场景下比for循环稍快第五期组合数据类型第 6-10 题题目六元组的特点与不可变性题目请写出以下代码的输出结果并解释为什么(5)和(5,)的结果不同。元组有哪些主要特点pythont1 (1, 2, 3) print(t1[0]) t2 (5) t3 (5,) print(type(t2)) print(type(t3))考查知识点元组的创建与访问 —— 第五期 §3.1、§3.2单元素元组的特殊写法 —— 第五期 §3.1元组的不可变性 —— 第五期 §3.3详细解答代码输出text1 class int class tuple为什么(5)和(5,)不同写法类型原因(5)int圆括号被解释为数学运算优先级不是元组(5,)tuple逗号告诉 Python 这是元组单元素元组必须加逗号元组的主要特点特点说明不可变一旦创建不能增删改元素有序元素有固定顺序支持索引和切片可哈希可以作为字典的键或集合的元素性能更好比列表占用内存更小访问速度更快题目七集合的去重与集合运算题目请写出以下代码的输出结果并说明集合的三大特性。集合中能存放列表吗为什么pythons1 set([1, 2, 2, 3, 3, 4]) print(s1) A {1, 2, 3, 4, 5} B {4, 5, 6, 7, 8} print(A | B) print(A B) print(A - B) print(A ^ B)考查知识点集合的创建与去重 —— 第五期 §4.1集合运算 —— 第五期 §4.3集合的三大特性 —— 第五期 §1详细解答代码输出text{1, 2, 3, 4} {1, 2, 3, 4, 5, 6, 7, 8} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8}集合的三大特性特性含义确定性任何一个元素是否在集合中是确定的互异性集合中的元素互不相同自动去重无序性集合中的元素没有顺序为什么集合不能存放列表集合的元素必须是不可变类型可哈希列表是可变类型不能作为集合元素同理字典、集合本身也不能作为集合元素✅ 可存放数字、字符串、元组题目八字典的创建与访问题目请写出以下代码的输出结果并说明字典的键必须满足什么条件使用get()方法访问字典有什么好处pythonperson {name: 张三, age: 18, city: 北京} print(person[name]) print(person.get(city)) print(person.get(score)) print(person.get(score, 0))考查知识点字典的创建与访问 —— 第五期 §5.1、§5.2get()方法 —— 第五期 §5.2字典键的约束条件 —— 第五期 §5.6详细解答代码输出text张三 北京 None 0字典键的约束条件条件说明唯一性每个键只能对应一个值键不能重复不可变键必须是不可变类型字符串、数字、元组❌不能作为键的类型列表、字典、集合可变类型get()方法的优势对比dict[key]dict.get(key)键不存在时抛出KeyError返回None或指定默认值适用场景确定键一定存在键可能不存在需要安全访问题目九字典的添加、修改与删除题目请写出以下代码的输出结果并说明修改字典元素和添加字典元素在语法上有什么区别。pythonperson {name: 张三, age: 18} person[city] 北京 print(person) person[age] 20 print(person) person.update({age: 22, job: 工程师}) print(person) del person[city] print(person)考查知识点字典元素的添加与修改 —— 第五期 §5.3字典元素的删除 —— 第五期 §5.4update()方法 —— 第五期 §5.3详细解答代码输出text{name: 张三, age: 18, city: 北京} {name: 张三, age: 20, city: 北京} {name: 张三, age: 22, city: 北京, job: 工程师} {name: 张三, age: 22, job: 工程师}添加与修改的区别操作语法效果添加dict[新键] 值键不存在时新增键值对修改dict[已存在键] 新值键已存在时更新对应的值 关键点Python 字典的添加和修改使用完全相同的语法区别仅在于键是否已存在。所以dict[key] value既是添加也是修改。字典的删除方法方法作用del dict[key]删除指定键键不存在时抛出KeyErrordict.pop(key)删除指定键并返回对应的值dict.popitem()随机删除一个键值对dict.clear()清空所有元素题目十组合数据类型对比与综合实战题目请从是否可变、是否有序、元素是否唯一三个维度对比list、tuple、set、dict四种数据类型。结合“十大歌手评分系统”实战说明为什么在计算最终得分时使用列表排序比使用集合更合适考查知识点四种数据类型对比 —— 第五期 总结综合实战解析 —— 第五期 §7.1详细解答四种数据类型对比表类型是否可变是否有序元素是否唯一创建示例list列表✅ 可变✅ 有序❌ 允许重复[1, 2, a]tuple元组❌ 不可变✅ 有序❌ 允许重复(1, 2, a)set集合✅ 可变❌ 无序✅必须唯一{1, 2, 3}dict字典✅ 可变❌ 无序Py3.7按插入顺序键必须唯一{name: Tom}为什么“十大歌手评分”使用列表而不是集合pythonscores [9.5, 8.8, 9.2, 7.5, 9.8, 9.0, 8.5, 9.3, 8.9, 9.1] scores.sort() valid_scores scores[1:-1] # 去掉最高分和最低分 average sum(valid_scores) / len(valid_scores)原因分析原因说明需要排序集合是无序的无法进行排序操作需要切片集合不支持切片无法用[1:-1]去掉最高最低分需要索引集合不支持索引访问无法获取单个元素允许重复评分可能存在相同分数集合会自动去重丢失数据附知识点对应总表题号主要考查知识点对应笔记章节1第五期 §1 序列类型概述与双向索引2第五期 §2.1 列表创建§2.2 列表访问与切片3第五期 §2.3 列表添加方法append/extend/insert4第五期 §2.5 列表排序sort vs sorted5第五期 §2.6 列表推导式6第五期 §3.1 元组创建§3.3 元组不可变性7第五期 §1 集合三大特性§4.3 集合运算8第五期 §5.1 字典创建§5.2 字典访问与 get()9第五期 §5.3 字典添加与修改§5.4 字典删除10第五期 总结四种类型对比§7.1 综合实战学习建议对于答错的题目请回看第五期对应章节并动手在 Python 交互式环境中执行相关命令。组合数据类型是 Python 编程中最常用的数据结构熟练掌握列表、元组、集合、字典的各自特性和适用场景是写出高质量 Python 代码的基础。— Compiled and Authored by Whisky — July 22nd, 2026

相关新闻

Tiva C系列I2C μDMA突发传输原理与实战配置详解

Tiva C系列I2C μDMA突发传输原理与实战配置详解

1. 项目概述与核心价值在嵌入式系统开发中,I2C总线因其简洁的硬件连接和灵活的通信方式,成为了连接各类传感器、存储器和外设的“血管”。然而,当数据吞吐量增大或系统实时性要求提高时,传统的轮询或中断驱动数据传输方式往往会成…

2026/10/10 19:10:16 阅读更多 →
Cortex-M4中断机制深度解析:从NVIC原理到TM4C实战避坑指南

Cortex-M4中断机制深度解析:从NVIC原理到TM4C实战避坑指南

1. 项目概述:从硬件信号到软件响应的中断世界在嵌入式系统的世界里,中断机制就像是给微控制器装上了一套灵敏的“神经系统”。想象一下,你正在专心致志地写代码,突然有人敲门(外部事件),你不得不…

2026/10/2 4:54:44 阅读更多 →
02-breakpoint-system

02-breakpoint-system

02 — ArkUI 自适应布局与响应式布局的断点系统详解 一、引言 HarmonyOS 多设备短视频项目覆盖从 1.5 英寸手表到 85 英寸智慧屏的广泛屏幕尺寸。ArkUI 提供了断点系统(Breakpoint System)来实现自适应和响应式布局,本文深入分析其实现原理。…

2026/10/10 15:12:07 阅读更多 →

最新新闻

artcraft:用工程化流程实现可复现的艺术创作

artcraft:用工程化流程实现可复现的艺术创作

1. 从“artcraft”这个名字说起:它到底想解决什么问题第一次看到“artcraft”这个标题,我脑子里蹦出来的第一反应是“艺术”加“手艺”,听起来像是个做创意工具的项目。但真正让我感兴趣的,是它背后隐含的那层意思——把“art”这…

2026/10/12 8:28:03 阅读更多 →
概率方向论文投稿PEIS期刊全流程实战经验分享

概率方向论文投稿PEIS期刊全流程实战经验分享

1. 选刊与评估:为什么投Probability in the Engineering and Informational Sciences先说结论:如果你手头有一篇偏应用概率、随机模型或排队论方向的文章,又不想投那些动不动等一年多的“大刊”,那么这个期刊值得认真考虑。我第一…

2026/10/12 8:28:03 阅读更多 →
数据埋点如何发现用户非预期路径?从行为序列到产品优化实战

数据埋点如何发现用户非预期路径?从行为序列到产品优化实战

前阵子团队在做月度数据分析复盘,产品经理翻着埋点报表突然来了一句:“你看这里,为什么有三分之一的用户注册完之后,没有去完善资料,反而先去逛商城了?我们的新手引导明明写的是先完善资料再领权益啊。”这…

2026/10/12 8:28:03 阅读更多 →
AI辅助开题报告写作:8类工具拆解与选择指南

AI辅助开题报告写作:8类工具拆解与选择指南

你有没有发现,现在写开题报告的第一动作已经变了?过去大家默认的流程是:先沉下心看几十篇文献,再去找导师聊上好几轮,最后硬憋出一份选题说明。现在呢?我见过太多人的打开方式,是先在搜索框里输…

2026/10/12 8:28:03 阅读更多 →
基于RapidOCR的Python OCR源码:识别并返回HTML结构

基于RapidOCR的Python OCR源码:识别并返回HTML结构

简介:这是一套基于 rapidOCR 改造的完整 OCR 图片识别源码,面向需要将图片文字提取并结构化输出的 Python 开发者与项目集成者。它解决了传统 OCR 只返回纯文本、难以直接嵌入页面的问题,通过内置 /engine/ocr 接口接收 http 链接、本地文件或…

2026/10/12 8:28:03 阅读更多 →
8G显存本地部署MiniMax H3:视频生成与ComfyUI接入全攻略

8G显存本地部署MiniMax H3:视频生成与ComfyUI接入全攻略

第一次在8G显存的卡上把MiniMax H3本地版跑起来的时候,我自己都有点没缓过劲。最初印象里,视频生成模型想本地部署怎么也得16G显存起步,结果在量化方案的加持下不仅能跑,还能连续产出多条可用的漫剧分镜。这篇就把我从环境搭建、模…

2026/10/12 8:27:02 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →