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/7/23 1:19:49 阅读更多 →
Cortex-M4中断机制深度解析:从NVIC原理到TM4C实战避坑指南

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

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

2026/7/23 1:19:49 阅读更多 →
02-breakpoint-system

02-breakpoint-system

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

2026/7/23 1:19:49 阅读更多 →

最新新闻

识别关键人才:企业真正的竞争,是“谁”在关键岗位上

识别关键人才:企业真正的竞争,是“谁”在关键岗位上

上一节课我们拆解了关键岗位,清楚了企业80%的核心结果,来自20%的核心岗位,解决了“企业要守住哪些位置”的问题。 但同样的岗位,为什么结果天差地别? 同样是店长岗位,有人单店年入千万,有人常…

2026/7/23 2:00:03 阅读更多 →
Linux 效率神器:fc 命令详解 —— 快速编辑  重执行历史命令

Linux 效率神器:fc 命令详解 —— 快速编辑 重执行历史命令

一、命令简介fc(Fix Command)是 Bash 等 shell 的内建命令,主要用于显示、编辑和重新执行历史命令。它允许用户快速调用、修改并再次运行之前执行过的命令,是提升命令行工作效率的重要工具。二、语法格式fc 命令主要有两种语法格式…

2026/7/23 2:00:03 阅读更多 →
拼音打字提速:盲打训练与输入法优化技巧

拼音打字提速:盲打训练与输入法优化技巧

1. 拼音打字提速的核心逻辑拼音输入法作为中文输入的主流方式,其效率瓶颈往往不在于输入法本身,而在于使用者的操作习惯和认知模式。我见过太多人把打字慢归咎于"输入法不好用",实际上90%的打字效率问题都出在以下三个层面&#xf…

2026/7/23 2:00:03 阅读更多 →
Unity后处理堆栈Volume系统:从原理到实战,掌握效果混合与动态控制

Unity后处理堆栈Volume系统:从原理到实战,掌握效果混合与动态控制

1. 项目概述:为什么Unity后处理值得你投入时间如果你在Unity里鼓捣过画面效果,大概率接触过“后处理”这个词。从简单的颜色校正、Bloom泛光,到复杂的屏幕空间反射、环境光遮蔽,这些让游戏画面从“能看”跃升到“好看”的关键技术…

2026/7/23 2:00:03 阅读更多 →
KingbaseES集群failover失败案例分析与解决方案

KingbaseES集群failover失败案例分析与解决方案

1. 案例背景与问题描述最近在维护一套KingbaseES V8R3数据库集群时,遇到了一次典型的failover切换失败案例。这套集群采用标准的主备架构,主库运行在node209(192.168.103.209),备库在node210(192.168.103.2…

2026/7/23 2:00:03 阅读更多 →
Datawhale 量化入门学习笔记:理解波动率

Datawhale 量化入门学习笔记:理解波动率

本文是 Datawhale《和Yibo零基础学习量化金融》Phase 2 第五章的学习总结,包含核心概念、理论发展脉络、Python 代码实现和真实行情验证。 标签:量化交易 Python 波动率 学习笔记 Datawhale 投资组合 分类:Python / 量化投资 前言 很多新手只…

2026/7/23 1:59:02 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻