03_数据结构 - 实践
第3课:数据结构
课程目标
- 掌握Python的基本数据结构:列表、元组、字典、集合
- 学习字符串的高级操作方法
- 理解不同数据结构的特点和适用场景
1. 列表(List)
1.1 列表的创建和基本操作
# 创建列表
fruits = ["苹果", "香蕉", "橙子"]
numbers = [1, 2, 3, 4, 5]
# 列表索引(从0开始)
print(fruits[0]) # 苹果
print(fruits[-1]) # 橙子(最后一个元素)
# 列表切片
print(fruits[1:3]) # ['香蕉', '橙子']
print(fruits[:2]) # ['苹果', '香蕉']
1.2 列表的常用方法
fruits = ["苹果", "香蕉", "橙子"]
# 添加元素
fruits.append("葡萄") # 在末尾添加
fruits.insert(1, "梨子") # 在指定位置插入
# 删除元素
removed = fruits.pop() # 删除并返回最后一个元素
fruits.remove("香蕉") # 删除指定元素
# 排序
fruits.sort() # 升序排序
fruits.reverse() # 反转列表
2. 元组(Tuple)
2.1 元组的特点和创建
# 元组是不可变的列表
coordinates = (10, 20)
person = ("张三", 25, "北京")
# 元组解包
x, y = coordinates
name, age, city = person
print(f"{name
}今年{age
}岁,住在{city
}")
3. 字典(Dictionary)
3.1 字典的创建和基本操作
# 创建字典
student = {
"name": "张三",
"age": 20,
"grades": [85, 90, 88]
}
# 访问元素
print(student["name"]) # 张三
print(student.get("age")) # 20
# 添加和修改元素
student["phone"] = "13800138000"
student["age"] = 21
4. 集合(Set)
4.1 集合的特点和创建
# 集合是无序、不重复的元素集合
fruits_set = {
"苹果", "香蕉", "橙子", "苹果"
}
numbers_set = {
1, 2, 3, 4, 5
}
# 集合运算
set1 = {
1, 2, 3, 4, 5
}
set2 = {
4, 5, 6, 7, 8
}
union = set1 | set2 # 并集
intersection = set1 & set2 # 交集
difference = set1 - set2 # 差集
5. 字符串的高级操作
5.1 字符串方法
text = " Hello, World! "
# 大小写转换
print(text.upper()) # " HELLO, WORLD! "
print(text.lower()) # " hello, world! "
# 去除空白
print(text.strip()) # "Hello, World!"
# 查找和替换
print(text.find("World")) # 8
print(text.replace("World", "Python"))
6. 练习项目
项目:学生成绩管理系统
print("=== 学生成绩管理系统 ===")
students = {
}
while True:
print("\n请选择操作:")
print("1. 添加学生")
print("2. 录入成绩")
print("3. 查询成绩")
print("4. 退出")
choice = input("请输入选择(1-4):")
if choice == "1":
student_id = input("请输入学号:")
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
students[student_id] = {
"name": name,
"age": age,
"grades": {
}
}
print("学生添加成功!")
elif choice == "2":
student_id = input("请输入学号:")
if student_id in students:
subject = input("请输入科目:")
score = float(input("请输入成绩:"))
students[student_id]["grades"][subject] = score
print("成绩录入成功!")
else:
print("学号不存在!")
elif choice == "3":
student_id = input("请输入学号:")
if student_id in students:
student = students[student_id]
print(f"\n学生信息:{student['name']
},年龄:{student['age']
}")
if student['grades']:
print("成绩:")
for subject, score in student['grades'].items():
print(f" {subject
}: {score
}")
else:
print("暂无成绩记录")
else:
print("学号不存在!")
elif choice == "4":
print("感谢使用!")
break
else:
print("无效选择,请重新输入!")
7. 总结
本节课我们学习了:
- 列表的创建、操作和常用方法
- 元组的特点和不可变性
- 字典的键值对结构和操作
- 集合的无序性和去重特性
- 字符串的高级操作方法
8. 下节课预告
下节课我们将学习:
- 函数的定义和调用
- 参数传递和返回值
- 作用域和命名空间