第3章 列表与元组

掌握Python序列数据结构的核心技能

📚 章节概述

在前两章中,我们学习了Python的基本语法、变量和基本数据类型。这些知识让我们能够处理单个数据项,但在实际编程中,我们经常需要处理多个相关的数据。Python提供了多种复合数据类型来解决这个问题,其中列表(list)和元组(tuple)是最基础也是最重要的两种。

列表是Python中最常用的数据结构之一,它允许我们在一个变量中存储多个数据项,并提供了丰富的方法来管理这些数据。无论是存储学生成绩、商品信息,还是处理大量的数据集,列表都是不可或缺的工具。元组虽然在功能上与列表相似,但其不可变的特性使其在某些场景下更加适用。

💡 单一变量与数据集合的差异

使用单一变量存储数据时,每个数据项都需要一个独立的变量名,当数据量增加时,变量管理变得困难。对多个相关数据进行统一处理(如求和、排序)需要重复编写相似代码,既繁琐又容易出错。数据的动态增删也难以实现。

列表和元组提供了集合式的数据管理能力,可以在一个变量中存储多个数据项,通过索引访问任意元素。列表支持动态增删改,元组保证数据不可变。配合循环结构,可以高效处理批量数据。内置函数如len()、max()、min()、sum()提供了强大的数据处理能力。

Python在序列处理上的优势在于:简洁的列表语法让创建和操作非常直观,负索引和切片提供了灵活的访问方式,列表推导式实现了优雅的数据转换,丰富的列表方法满足各种操作需求,元组的不可变性保证了数据安全。

🎯 本章学习重点

本章系统学习列表和元组的使用方法,掌握Python序列数据结构的核心技能。学习内容包括:

列表基础操作:从创建和访问开始,掌握列表的索引、切片、拼接等基本操作,学习列表的增删改查方法,理解列表的可变特性和常见陷阱。

循环遍历技巧:学习for循环与列表的结合使用,掌握enumerate()获取索引、zip()并行遍历等重要函数,提升数据处理效率。

列表推导式:学习列表推导式这一Python优雅特性,掌握通过简洁语法进行数据转换和筛选,提升代码的简洁性和可读性。

数值列表处理:掌握range()函数生成数值序列,学习len()、max()、min()、sum()等统计函数,理解列表在数据分析中的应用。

元组特性应用:理解元组的不可变特性和应用场景,掌握元组解包、多重赋值等重要技巧,学会在适当场景选择元组而非列表。

📖 学习方法与特色

本章采用"渐进式学习"的教学方式,从基础操作到高级特性循序渐进。每个知识点都配有丰富的示例,特别注重实用性和常见问题的防范,如列表复制与引用、可变与不可变等重要概念。

继续秉承AI辅助学习的理念,我们设置了多个Ask AI环节,引导读者学会如何向AI助手询问高级列表推导式、数值运算、元组对比等进阶内容,培养主动学习和解决复杂问题的能力。

下载课件
📝 实践练习
💡 练习 3.1.1:创建个人信息列表

创建一个包含姓名、年龄、城市的列表,并访问和打印每个元素。

💡 练习 3.1.2:列表切片练习

给定列表 [10, 20, 30, 40, 50, 60, 70, 80, 90],使用切片获取:

  • 前三个元素
  • 后三个元素
  • 中间的元素(索引2到6)
  • 每隔一个元素
💡 练习 3.1.3:购物清单

创建一个购物清单列表,检查特定商品是否在清单中,并计算清单中商品的总数量。

下载课件
📝 实践练习
💡 练习 3.2.1:图书管理系统

创建一个图书列表,实现添加图书、删除指定图书、修改图书信息的功能。

💡 练习 3.2.2:购物车操作

模拟购物车操作:添加商品、删除商品、修改商品数量,并计算总价。

💡 练习 3.2.3:排行榜管理

创建一个游戏分数列表,实现排序、查找最高分和最低分、计算平均分的功能。

下载课件
📝 实践练习
💡 练习 3.3.1:分数转换

给定一个百分制分数列表,遍历列表并将每个分数转换为五分制分数。转换规则:90-100→5分,80-89→4分,70-79→3分,60-69→2分,0-59→1分

💡 练习 3.3.2:销售数据统计

有两个列表分别存储销售员姓名和销售额,使用zip()函数遍历并统计:

  • 达标销售员数量(≥10000元)
  • 优秀销售员姓名(≥20000元)
💡 练习 3.3.3:商品库存管理

给定商品名称、价格和库存数量三个列表,遍历并输出:

  • 库存不足的商品(数量<10)
  • 总库存价值
下载课件
📝 实践练习
💡 练习 3.4.1:数据处理

使用列表推导式完成以下任务:

  • 生成1到100之间所有偶数的列表
  • 将字符串列表中的所有字符串转换为大写
  • 从数字列表中筛选出所有大于50的数
💡 练习 3.4.2:产品信息处理

给定产品价格列表,使用列表推导式计算折扣后的价格(九折),并筛选出折后价大于100元的产品。

💡 练习 3.4.3:文本分析

给定一个句子,使用列表推导式提取所有长度大于3的单词,并转换为小写。

💡 练习 3.4.4:数学计算

使用列表推导式生成1到10的平方数列表,以及1到20之间所有能被3整除的数的列表。

下载课件
📝 实践练习
💡 练习 3.5.1:数学序列

使用range()和列表推导式生成以下数学序列:

  • 1到100的所有奇数
  • 1到50的所有3的倍数
  • 1到10的立方数
💡 练习 3.5.2:成绩统计

给定一个学生成绩列表,计算并输出:最高分、最低分、平均分、总分、及格人数(≥60分)。

💡 练习 3.5.3:股价分析

给定一周的股票价格列表,计算最高价、最低价、平均价格、价格波动范围(最高价-最低价)。

💡 练习 3.5.4:投资收益计算

假设每月投资固定金额,给定12个月的月收益率列表,计算总投资额和每月的累计资产。

下载课件
📝 实践练习
💡 练习 3.6.1:员工信息管理

某公司有一批员工信息需要进行统计分析。每个员工的信息包含姓名、部门、工龄(年)和月薪资(元)四个字段。请创建一个元组列表来存储这些员工信息,其中每个员工的信息用一个元组表示,多个员工组成一个列表。

请完成以下任务:

  • 遍历所有员工信息,计算并输出所有员工的平均薪资(保留2位小数)
  • 找出工龄最长的员工,输出该员工的完整信息(姓名、部门、工龄、薪资)
  • 统计各部门的员工数量,以"部门名称: 员工人数"的格式输出每个部门的统计结果
💡 练习 3.6.2:几何计算

定义几个2D点的坐标(使用元组),编写函数计算任意两点间的距离。

💡 练习 3.6.3:数据解析

定义一个函数,返回列表的最小值、最大值和平均值(使用元组返回多个值)。

📚 核心收获

列表基础操作:掌握了列表的创建、访问、索引切片等基础操作,学会了len()函数的使用,能够熟练地存储和访问多个数据项。

列表管理技能:学习了添加、删除、修改元素的各种方法,掌握了列表排序和复制,理解了列表引用与复制的重要区别,避免了编程陷阱。

for循环遍历:深入掌握了for循环的基本语法,学会了enumerate()zip()函数的实际应用,能够高效地遍历和处理列表数据。

列表推导式:学习了这一Python优雅特性的基本语法和条件过滤,掌握了用简洁代码生成列表的方法。

数值列表处理:理解了range()函数的使用,掌握了数值列表的生成方法,学会了max()min()sum()等统计函数的应用。

元组的特性:学习了元组的创建和基本操作,理解了元组的不可变特性,掌握了元组解包和遍历技巧,了解了元组的实际应用场景。

AI辅助学习:通过三个Ask AI环节,强化了利用AI助手学习高级列表推导式、数值运算、元组深入对比等进阶内容的能力。

🚀 技能进阶路径

本章掌握的列表操作为后续学习打下了坚实基础:

  • 高级列表操作:多维列表、列表嵌套、复杂数据结构的处理
  • 性能优化技巧:列表推导式优化、生成器表达式、内存管理
  • 函数式编程:map()filter()reduce()等高阶函数应用
  • 数据结构扩展:栈、队列、链表等数据结构的实现与应用
📖 下一章预告

下一章将学习Python的程序控制结构,包括if语句、循环语句等,学会如何控制程序的执行流程,并结合前面学到的数据类型知识,编写更加复杂和实用的程序。