不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。
python系列之列表
python系列前期章节
导语:想象一下你拎着菜篮子去超市——先拿苹果,再放香蕉,突然发现土豆忘买了,最后结账时按顺序扫码。Python中的 列表(List) 就像这个菜篮子,能装各种东西,还能随时调整顺序。今天我们用生活化的场景,手把手带你掌握这个最常用的数据结构!
一、菜篮子初体验:列表是什么?
1、生活中的列表
- 超市购物清单:
["苹果", "香蕉", "牛奶", "鸡蛋"]
- 班级学生名单:
["张三", "李四", "王五"]
- 股票价格记录:
[18.5, 19.2, 17.8, 20.1]
2、Python中的列表
定义:用方括号[]
包裹,元素用逗号分隔,可存放任意类型数据,顺序可变。
# 创建第一个列表
shopping_list = ["苹果", "香蕉", "牛奶", 3, True] # 甚至能混合类型!
print("我的购物车:", shopping_list)
二、菜篮子的基本操作:增删改查
1、查询物品(索引与切片)
- 正向索引:从0开始,
shopping_list[0]
→ “苹果” - 反向索引:
shopping_list[-1]
→ True - 切片取子集:
shopping_list[1:3]
→ [“香蕉”, “牛奶”]
具体代码如下:
# 创建一个列表
shopping_list = ["苹果", "香蕉", "牛奶", 3, True]
# 获取第一个元素
print(shopping_list[0])
# 获取最后一个元素
print(shopping_list[-1])
# 切片
print(shopping_list[1:3])
# 获取列表长度
len(shopping_list)
运行结果:
2、修改操作:移花接木
# 实战:把香蕉换成芒果
shopping_list[1] = "芒果"
print("修改后的购物车:", shopping_list) # ["苹果", "芒果", "牛奶", 3, True]
3、往篮子里加东西(添加元素)
- 尾部追加:
append()
- 指定位置插入:
insert()
shopping_list.append("鸡蛋") # 在末尾加鸡蛋
shopping_list.insert(2, "土豆") # 在索引2的位置插入土豆
print("更新后的购物车:", shopping_list)
运行结果:
4、从篮子里拿掉东西(删除元素)
- 按值删除:
remove("牛奶")
- 按位置删除:
pop(3)
或del shopping_list[3]
shopping_list.remove("牛奶") # 删除第一个"牛奶"
popped_item = shopping_list.pop(3) # 删除索引3的元素(数字3),并返回它
print("被移除的商品:", popped_item)
print("当前购物车:",shopping_list)
运行结果:
三、菜篮子高级技巧:常用方法大全
1、整理购物车(排序与反转)
prices = [18.5, 19.2, 17.8, 20.1]
# 这里有个布尔参数,reverse=True为降序
prices.sort() # 从小到大排序 → [17.8, 18.5, 19.2, 20.1]
prices.reverse() # 反转顺序 → [20.1, 19.2, 18.5, 17.8]
2、合并购物车(列表拼接)
list1 = ["苹果", "香蕉"]
list2 = ["牛奶", "鸡蛋"]
combined_list = list1 + list2 # ["苹果", "香蕉", "牛奶", "鸡蛋"]
3、快速复制购物车(避免翻车!)
# 错误示范:直接赋值会导致两个列表关联
wrong_copy = shopping_list
wrong_copy[0] = "榴莲" # 原列表也会被修改!
# 正确方法
right_copy = shopping_list.copy() # 或 list(shopping_list)
right_copy[0] = "榴莲" # 原列表不受影响
四、实战:用列表打造智能管理系统
通过以上的内容,相信大家已经对列表有了一定的熟悉,那么接下来就是实操环节咯,有句古话叫“熟能生巧”,总没错的。
1、场景:学生成绩统计
# 初始化成绩表
scores = [85, 92, 78, 90, 88]
# 计算平均分(sum和len函数是列表的好帮手)
average = sum(scores) / len(scores)
print(f"平均分:{average:.1f}") # 输出:平均分:86.6
# 添加新成绩并重新排序
scores.append(95)
scores.sort(reverse=True)
print("排名前3的成绩:", scores[:3]) # [95, 92, 90]
2、场景:待办事项管理
todos = ["写Python作业", "健身房打卡"]
# 添加任务
todos.append("买生日礼物")
# 完成任务(标记后删除)
completed = todos.pop(0)
print(f"已完成:{completed},剩余任务:{todos}")
# 紧急插队
todos.insert(0, "修电脑")
print('当前任务清单:',todos)
运行结果:
五、避坑指南:新手常见误区
- 索引越界:访问
list[10]
会报错,记得检查长度用len(list)
- 浅拷贝陷阱:嵌套列表要用
copy.deepcopy()
- 混合类型慎用:
[1, "2", 3.0]
虽合法,但处理时容易出错
六、总结与练习
列表三要素:
✅ 有序排列 ✅ 元素可变 ✅ 支持混合类型
嵌套列表:实现表格数据(如[[1,2,3], [4,5,6]]
)
动手挑战:
- 用列表实现一个简易的「电影收藏夹」
- 编写代码自动计算购物车总价(假设每个商品对应一个价格列表)
彩蛋:试试这个魔法代码,感受列表的灵活性!
magic_list = [1, "Hello", [2, 3], {"name": "Python"}]
print(magic_list[2][1]) # 输出什么?欢迎在评论区中讨论、留言,给出您的答案
现在,你的菜篮子已经升级成智能购物车了!快去用列表整理你的数字生活吧 ,咱们下一章节再见~🛒🚀
由于本人功底有限,内容如若出现不足之处,欢迎在评论区留言,谢谢。