Python列表完整学习指南¶
1. 什么是列表?想象一下...¶
想象你有一个神奇的百宝箱!这个箱子可以: - 放进去任何东西(数字、文字、甚至是其他小箱子) - 随时知道箱子里有多少东西 - 随时拿出或放入新的东西 - 所有东西都整整齐齐排好队
在Python中,我们把这个神奇的百宝箱叫做"列表"(List)!
2. 基本操作¶
2.1. 创建列表¶
# 创建一个装水果的列表
fruits = ["苹果", "香蕉", "橙子"]
# 创建一个装数字的列表
numbers = [1, 2, 3, 4, 5]
# 创建一个空列表
my_list = []
2.2. 访问元素¶
fruits = ["苹果", "香蕉", "橙子"]
# 访问第一个元素(索引从0开始)
first_fruit = fruits[0] # 得到"苹果"
last_fruit = fruits[-1] # 得到"橙子"(倒数第一个)
print(f"第一个水果是{first_fruit}")
2.3. 添加元素¶
# 在列表末尾添加
fruits.append("草莓") # 现在列表是:["苹果", "香蕉", "橙子", "草莓"]
# 在指定位置插入
fruits.insert(1, "葡萄") # 在第2个位置插入"葡萄"
# 扩展列表
fruits.extend(["梨", "桃子"])
2.4. 删除元素¶
# 删除最后一个元素
fruits.pop() # 返回并删除最后一个元素
# 删除指定元素
fruits.remove("香蕉") # 删除第一个出现的"香蕉"
# 删除指定位置的元素
del fruits[0] # 删除第一个元素
3. 列表切片¶
3.1. 基本切片¶
numbers = [0, 1, 2, 3, 4, 5]
print(numbers[1:4]) # [1, 2, 3]
print(numbers[:3]) # [0, 1, 2]
print(numbers[3:]) # [3, 4, 5]
3.2. 步长切片¶
numbers = [0, 1, 2, 3, 4, 5]
print(numbers[::2]) # [0, 2, 4]
print(numbers[::-1]) # [5, 4, 3, 2, 1, 0]
4. 列表操作¶
4.1. 列表推导式¶
# 创建1-5的平方数列表
squares = [x**2 for x in range(1, 6)] # [1, 4, 9, 16, 25]
# 创建偶数列表
evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8]
4.2. 列表排序¶
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
# 直接排序(改变原列表)
numbers.sort()
print(numbers) # [1, 1, 2, 3, 4, 5, 6, 9]
# 创建新的排序列表
sorted_numbers = sorted(numbers)
5. 实战示例¶
5.1. 学生成绩管理¶
# 存储学生成绩
scores = [85, 92, 78, 95, 88]
# 计算平均分
average = sum(scores) / len(scores)
# 找出最高分和最低分
highest = max(scores)
lowest = min(scores)
print(f"平均分:{average:.2f}")
print(f"最高分:{highest}")
print(f"最低分:{lowest}")
5.2. 购物清单¶
# 创建购物清单
shopping_list = []
# 添加商品
def add_item(item):
shopping_list.append(item)
print(f"已添加:{item}")
# 删除商品
def remove_item(item):
if item in shopping_list:
shopping_list.remove(item)
print(f"已删除:{item}")
else:
print(f"未找到:{item}")
# 显示清单
def show_list():
print("\n购物清单:")
for i, item in enumerate(shopping_list, 1):
print(f"{i}. {item}")
# 使用示例
add_item("苹果")
add_item("面包")
add_item("牛奶")
show_list()
remove_item("面包")
show_list()
6. 应用场景¶
6.1. 数据处理¶
- 存储和处理大量数据
- 批量操作和计算
- 数据过滤和转换
6.2. 队列和栈¶
- 任务队列管理
- 历史记录存储
- 撤销/重做功能
6.3. 数据收集¶
- 用户输入收集
- 传感器数据记录
- 日志记录
7. 小练习¶
- 创建一个列表,包含你最喜欢的5种水果
- 编写程序,将列表中的所有数字乘以2
- 实现一个简单的待办事项列表,支持添加和删除功能