大家好!我是哒哒咚咚!欢迎来到第五天。
昨天我们让计算机学会了“重复劳动”,用循环解决了大量重复性问题。今天,我们要给程序配备一个超强的收纳盒,让它能同时管理成百上千的数据。
想象一下,如果你要存储一个班50个学生的名字,难道要创建50个变量,叫 name1, name2 ... name50 吗?当然不用!这就是我们今天的主角——列表 和字典 的威力。
今日学习目标:
理解为什么程序需要容器来管理数据
掌握列表的创建、访问和常用操作(增删改查)
掌握字典的创建、访问和常用操作
学会区分列表和字典,知道什么时候该用谁
动手实践:用列表和字典改造我们之前的程序
让我们开始吧!
1. 为什么需要列表和字典?
到目前为止,我们的程序变量就像一个一个小盒子,每个盒子只能放一件东西。但如果要处理一堆东西呢?比如购物清单、通讯录、考试成绩单。
这时候我们就需要超级收纳盒:
有了它们,程序才真正具备处理现实世界复杂数据的能力。
2. 列表:有序的储物柜
列表用方括号 [] 表示,里面的元素用逗号隔开。它可以存放任何类型的数据:数字、字符串,甚至其他列表。
基本操作:
创建列表
python
# 一个简单的购物清单shopping_list =["牛奶","面包","鸡蛋"]print(shopping_list)# 输出:['牛奶', '面包', '鸡蛋']# 混合类型列表mixed_list =["小明",18,175.5]
访问元素(索引)
列表的格子编号(索引)是从 0 开始的。
python
fruits =["苹果","香蕉","橙子"]# 访问第一个元素print(fruits[0])# 输出:苹果# 访问最后一个元素print(fruits[-1])# 输出:橙子 (-1 代表倒数第一个)# 访问第二个元素print(fruits[1])# 输出:香蕉
添加元素
python
# append() 在末尾添加fruits.append("葡萄")print(fruits)# 输出:['苹果', '香蕉', '橙子', '葡萄']# insert() 在指定位置插入fruits.insert(1,"草莓")# 在索引1的位置插入“草莓”print(fruits)# 输出:['苹果', '草莓', '香蕉', '橙子', '葡萄']删除元素
python
# remove() 删除指定值的元素(只删除第一个匹配项)fruits.remove("香蕉")print(fruits)# 输出:['苹果', '草莓', '橙子', '葡萄']# pop() 删除指定索引的元素(默认删除最后一个)popped_fruit = fruits.pop()# 删除并返回最后一个print(popped_fruit)# 输出:葡萄print(fruits)# 输出:['苹果', '草莓', '橙子']修改元素
python
# 直接通过索引赋值修改fruits[0]="红苹果"print(fruits)# 输出:['红苹果', '草莓', '橙子']
实战:用循环处理列表
昨天学的循环和今天是绝配!
python
# 遍历购物清单shopping_list =["牛奶","面包","鸡蛋"]for item in shopping_list:print(f"需要购买:{item}")# 输出:# 需要购买:牛奶# 需要购买:面包# 需要购买:鸡蛋3. 字典:智能名片夹
字典用花括号 {} 表示,里面的数据是键值对形式:"键": 值。键就像标签,必须是唯一的且通常是字符串;值可以是任何类型。
基本操作:
创建字典
python
# 创建一个学生信息字典student ={"name":"小明","age":18,"score":95.5}print(student)# 输出:{'name': '小明', 'age': 18, 'score': 95.5}访问元素(通过键)
python
# 通过键名获取值print(student["name"])# 输出:小明print(student.get("age"))# 输出:18 (用get方法更安全,如果键不存在不会报错)添加/修改键值对
python
# 如果键不存在,就是添加;如果存在,就是修改student["city"]="北京"# 添加student["score"]=98# 修改print(student)# 输出:{'name': '小明', 'age': 18, 'score': 98, 'city': '北京'}删除键值对
python
# pop() 删除指定键并返回其值removed_age = student.pop("age")print(removed_age)# 输出:18print(student)# 输出:{'name': '小明', 'score': 98, 'city': '北京'}遍历字典
python
# 遍历所有键值对student ={"name":"小明","score":98,"city":"北京"}# items() 方法可以同时拿到键和值for key, value in student.items():print(f"{key}: {value}")# 输出:# name: 小明# score: 98# city: 北京# 只遍历键for key in student.keys():print(key)# 输出:name, score, city# 只遍历值for value in student.values():print(value)# 输出:小明, 98, 北京4. 小练习:让数据管理活起来
今天的练习会非常实用,动手试试看!
成绩统计器:
创建一个列表,里面包含5个学生的考试成绩(例如:[88, 92, 79, 85, 96])。
用循环计算:
通讯录小程序:
购物车模拟器:
词频统计器(挑战版):
给定一个英文句子,例如:"the quick brown fox jumps over the lazy dog"。
将句子拆分成单词列表(提示:用split()方法)。
创建一个空字典,遍历单词列表,统计每个单词出现的次数。
最后打印出字典,显示每个单词及其出现次数。
5. 今日总结
今天我们给程序配上了强大的数据管理工具——列表和字典:
列表像一个有序的储物柜,适合存放一系列有顺序的数据,用索引访问。
字典像一个智能名片夹,适合存放有对应关系的数据,用键访问。
我们学会了它们的增、删、改、查基本操作。
最关键的是,我们看到了循环和列表/字典是天作之合,可以轻松处理批量数据。
明天,我们将学习如何把程序打包成可重复使用的“乐高积木”——函数。学会了函数,你的代码将变得井井有条,再也不用复制粘贴了!
今天的通讯录和购物车练习非常贴近生活,一定要亲手实现一下!遇到问题欢迎在评论区留言交流。
明天见! 🚀