最近更新:Python零基础教程第十课 认识新朋友 模块和包
2025-12-26
最近更新:Python零基础教程第九课:犯错了怎么办?——错误处理
2025-12-26
2025-12-26
2025-12-26
最近更新:Python零基础教程第七课:我的第一个工具箱——函数
2025-12-26
浏览量:13 次 发布时间:2025-12-26 17:49 作者:明扬工控商城 下载docx
最近更新:Python零基础教程第十课 认识新朋友 模块和包
2025-12-26
最近更新:Python零基础教程第九课:犯错了怎么办?——错误处理
2025-12-26
2025-12-26
2025-12-26
最近更新:Python零基础教程第七课:我的第一个工具箱——函数
2025-12-26
欢迎来到第六课。前面我们学会了让程序做选择和重复执行,今天我们要学习一个非常重要的工具,列表。列表就像我们生活中的各种收纳盒,可以帮助我们整理和管理大量数据。
想象一下,你去超市购物,手里拿着一张购物清单:
1. 苹果
2. 牛奶
3. 面包
4. 鸡蛋
在Python里,我们可以用一个列表来存储这些信息:
代码部分:
购物清单 =
["苹果",
"牛奶",
"面包",
"鸡蛋"]
列表就是按顺序排列的一组数据,可以放任何类型的东西。
创建你的第一个列表
打开IDLE,新建一个文件:
代码部分:
创建各种列表
水果列表 =
["苹果",
"香蕉",
"橙子",
"草莓"]
数字列表 = [1, 2,
3, 4, 5]
混合列表 =
["小明",
18, "学生",
170.5]
空列表 = []
print("水果列表:", 水果列表)
print("数字列表:", 数字列表)
print("混合列表:", 混合列表)
print("空列表:", 空列表)
运行结果:
水果列表: ['苹果', '香蕉', '橙子', '草莓']
数字列表: [1, 2,
3, 4, 5]
混合列表: ['小明', 18, '学生', 170.5]
空列表: []
列表就像一个有很多格子的抽屉,每个格子都有编号,索引。
索引:列表的位置编号
Python的索引从0开始,不是从1开始!
代码部分:
访问列表元素
同学名单 =
["小明",
"小红",
"小刚",
"小丽"]
print("第一个同学:", 同学名单[0])
print("第二个同学:", 同学名单[1])
print("第三个同学:", 同学名单[2])
print("第四个同学:", 同学名单[3])
访问最后一个元素
代码部分:
访问最后一个元素
水果 =
["苹果",
"香蕉",
"橙子",
"葡萄",
"西瓜"]
方法1:知道长度的情况
print("最后一个水果(方法1):", 水果[4])
方法2:使用负数索引(推荐)
print("最后一个水果(方法2):", 水果[-1])
print("倒数第二个水果:", 水果[-2])
print("倒数第三个水果:", 水果[-3])
列表切片:获取一部分元素
切片就像切蛋糕,只取你想要的部分:
代码部分:
列表切片
数字 = [0, 1,
2, 3, 4, 5, 6, 7, 8, 9]
print("前三个数字:", 数字[0:3])
print("第三到第六个:", 数字[2:6])
print("从第三个开始:", 数字[2:])
print("前五个:", 数字[:5])
print("最后三个:", 数字[-3:])
列表是可变的,我们可以随时修改它。
修改单个元素
代码部分:
修改列表元素
购物车 = ["苹果", "牛奶", "面包"]
print("原始购物车:", 购物车)
修改第二个元素
购物车[1] =
"酸奶"
print("修改后购物车:", 购物车)
修改最后一个元素
购物车[-1] =
"蛋糕"
print("再次修改后:", 购物车)
添加元素到列表
代码部分:
添加元素到列表
待办事项 =
["写作业",
"打扫房间"]
print("当前待办:", 待办事项)
方法1:append()
在末尾添加一个元素
待办事项.append("买菜")
print("添加后:", 待办事项)
方法2:insert()
在指定位置插入
待办事项.insert(1,
"洗衣服")
print("插入后:", 待办事项)
方法3:extend()
添加多个元素
新任务 =
["取快递",
"浇花"]
待办事项.extend(新任务)
print("扩展后:", 待办事项)
删除列表元素
代码部分:
删除列表元素
水果篮 =
["苹果",
"香蕉",
"橙子",
"葡萄",
"西瓜",
"桃子"]
print("原始水果篮:", 水果篮)
方法1:del
根据索引删除
del 水果篮[2]
print("删除索引2后:", 水果篮)
方法2:remove()
根据值删除
水果篮.remove("葡萄")
print("删除'葡萄'后:", 水果篮)
方法3:pop()
删除并返回最后一个元素
删除的水果 = 水果篮.pop()
print("删除的水果:", 删除的水果)
print("pop()后:", 水果篮)
pop()也可以删除指定位置
指定删除 = 水果篮.pop(0)
print("删除第一个:", 指定删除)
print("最后的水果篮:", 水果篮)
获取列表长度
代码部分:
获取列表长度
同学名单 =
["小明",
"小红",
"小刚",
"小丽",
"小华"]
人数 = len(同学名单)
print("同学名单:", 同学名单)
print("共有", 人数, "个同学")
检查元素是否在列表中
代码部分:
检查元素是否存在
水果列表 =
["苹果",
"香蕉",
"橙子"]
使用in关键字
if "苹果" in
水果列表:
print("水果列表中有苹果")
else:
print("水果列表中没有苹果")
if "西瓜" in 水果列表:
print("有西瓜")
else:
print("没有西瓜")
使用not in
if "西瓜"
not in 水果列表:
print("确实没有西瓜")
列表排序
代码部分:
列表排序
成绩 = [85,
92, 78, 95, 88]
print("原始成绩:", 成绩)
升序排序(从小到大)
成绩.sort()
print("升序排序:", 成绩)
降序排序(从大到小)
成绩.sort(reverse=True)
print("降序排序:", 成绩)
sorted()函数不影响原列表
原始列表 = [3, 1,
4, 1, 5, 9]
新列表 =
sorted(原始列表)
print("原始列表:", 原始列表)
print("排序后新列表:", 新列表)
列表反转
代码部分:
反转列表
字母 =
["A", "B", "C", "D", "E"]
print("原始顺序:", 字母)
字母.reverse()
print("反转后:", 字母)
使用切片反转
数字 = [1, 2,
3, 4, 5]
反转数字 = 数字[::-1]
print("原始数字:", 数字)
print("反转数字:", 反转数字)
遍历就是依次访问列表中的每个元素。
使用for循环遍历列表
代码部分:
遍历列表
水果 =
["苹果",
"香蕉",
"橙子",
"葡萄"]
print("我喜欢的水果:")
for 单个水果 in 水果:
print(" ", 单个水果)
print("\n带编号的水果:")
for 序号, 单个水果 in enumerate(水果):
print(序号 + 1,
".", 单个水果)
同时遍历多个列表
代码部分:
同时遍历多个列表
学生名单 =
["小明",
"小红",
"小刚"]
学生成绩 = [85,
92, 78]
print("学生成绩单:")
for 学生, 成绩 in zip(学生名单, 学生成绩):
print(学生, "的成绩是:", 成绩)
让我们用列表做一个实用的抽奖程序。
第一步:创建新文件
新建文件,保存为"抽奖程序.py"
第二步:基础版抽奖程序
代码部分:
随机抽奖程序1.0
import random
print("幸运抽奖程序")
print()
参与者名单
参与者 =
["小明",
"小红",
"小刚",
"小丽",
"小华",
"小芳",
"小强",
"小美"]
print("本次抽奖参与者:")
for i, 名字 in
enumerate(参与者):
print(f" {i+1}. {名字}")
print()
print(f"共有 {len(参与者)} 位参与者")
print()
随机抽取一位幸运者
幸运者 =
random.choice(参与者)
print("恭喜获奖者:", 幸运者)
print("恭喜中奖!")
第三步:进阶版抽奖程序
代码部分:
随机抽奖程序2.0
import random
import time
print("幸运大抽奖")
print()
输入参与者
参与者 = []
print("请输入参与者姓名(输入'结束'完成输入):")
while True:
姓名 =
input("请输入姓名:")
if 姓名 ==
"结束":
break
参与者.append(姓名)
if len(参与者) == 0:
print("没有参与者,程序结束。")
exit()
print()
print("参与者名单:")
for i, 名字 in
enumerate(参与者):
print(f" {i+1}. {名字}")
print()
print(f"共有 {len(参与者)} 位参与者")
设置奖项
奖项 = {
"一等奖":
1,
"二等奖":
2,
"三等奖": 3
}
print()
print("开始抽奖!")
print()
抽取三等奖
print("首先抽取三等奖(3名):")
time.sleep(1)
三等奖获奖者 = []
for i in range(奖项["三等奖"]):
if len(参与者) == 0:
print("没有更多参与者了!")
break
text
三等奖获奖者.append(中奖者)
参与者.remove(中奖者)
print(f" 第{i+1}位三等奖:{中奖者}")
time.sleep(1)
抽取二等奖
print()
print("现在抽取二等奖(2名):")
time.sleep(1)
二等奖获奖者 = []
for i in range(奖项["二等奖"]):
if len(参与者) == 0:
print("没有更多参与者了!")
break
text
二等奖获奖者.append(中奖者)
参与者.remove(中奖者)
print(f" 第{i+1}位二等奖:{中奖者}")
time.sleep(1)
抽取一等奖
print()
print("最后抽取一等奖(1名):")
time.sleep(2)
if len(参与者) > 0:
一等奖获奖者 =
random.choice(参与者)
print(f" 一等奖获奖者:{一等奖获奖者}")
else:
print(" 没有参与者可供抽取一等奖")
显示所有获奖者
print()
print("获奖名单汇总:")
print("一等奖:", 一等奖获奖者 if len(参与者) > 0 else "无人获奖")
print("二等奖:",
"、".join(二等奖获奖者))
print("三等奖:",
"、".join(三等奖获奖者))
错误1:索引超出范围
代码部分:
错误示例
水果 =
["苹果",
"香蕉",
"橙子"]
print(水果[3]) 错误!索引从0到2,没有索引3
正确做法:先检查长度
if len(水果) > 3:
print(水果[3])
else:
print("索引超出范围")
错误2:修改字符串等不可变对象
代码部分:
字符串不可变,但列表中的字符串元素可以替换
列表 =
["苹果",
"香蕉"]
列表[0] =
"橙子" 正确!可以替换元素
字符串 = "苹果"
字符串[0] =
"橙" 错误!字符串不可变
错误3:列表复制的问题
代码部分:
错误示例
列表1 = [1,
2, 3]
列表2 = 列表1
列表2.append(4)
print("列表1:", 列表1) 列表1也被修改了!
正确复制方法
列表1 = [1,
2, 3]
列表2 = 列表1.copy()
列表3 = 列表1[:]
列表2.append(4)
列表3.append(5)
print("列表1:", 列表1)
print("列表2:", 列表2)
print("列表3:", 列表3)
今天的内容非常实用,我们学会了:
1. 创建列表:存储一组有序数据
2. 访问列表元素:使用索引和切片
3. 修改列表:添加、删除、修改元素
4. 列表操作:排序、反转、长度等
5. 遍历列表:使用for循环处理每个元素
6. 实际应用:制作抽奖程序
任务1:成绩管理系统
创建一个学生成绩列表,实现以下功能:
· 添加学生成绩
· 删除学生成绩
· 查找最高分和最低分
· 计算平均分
· 列出所有及格(≥60分)的学生
任务2:待办事项管理器
创建一个待办事项管理器:
· 显示所有待办事项
· 添加新事项
· 标记事项为已完成(移到已完成列表)
· 删除事项
· 按优先级排序
任务3:通讯录程序
创建一个简单的通讯录:
· 添加联系人(姓名、电话)
· 查找联系人
· 删除联系人
· 显示所有联系人
· 按姓名排序
任务4:改进抽奖程序
为抽奖程序添加以下功能:
· 可以设置每个奖项的奖品
· 允许有重复中奖(同一个人可中多个奖)
· 保存中奖记录到文件
· 添加抽奖动画效果
下节课我们要学习另一个重要的数据结构:字典。字典就像真正的字典一样,可以通过"关键词"快速找到对应的"解释"。
学了字典后,我们可以:
· 创建更复杂的通讯录(存储更多信息)
· 制作单词本(英文-中文对照)
· 统计词频
· 做更强大的数据存储
列表是Python中最常用的数据结构之一,建议你:
1. 多练习列表的各种操作
2. 尝试用列表解决实际问题
3. 理解列表和变量的区别(列表是可变的)
4. 注意列表索引从0开始这个特点
记住,学习编程最好的方法就是多动手。把今天的所有例子都自己运行一遍,然后尝试修改它们,看看会发生什么变化。
你已经学会了管理数据的重要工具,这是编程中非常关键的一步。继续加油,我们下节课再见!
将本文的Word文档下载到电脑
推荐度: