python系列之列表:从菜市场到代码世界,一文带你玩转购物车!

不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。

python系列前期章节

  1. python系列之注释与变量
  2. python系列之输入输出语句与数据类型
  3. python系列之运算符
  4. python系列之控制流程语句
  5. 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)

运行结果:
运行结果


五、避坑指南:新手常见误区

  1. 索引越界:访问list[10]会报错,记得检查长度用len(list)
  2. 浅拷贝陷阱:嵌套列表要用copy.deepcopy()
  3. 混合类型慎用[1, "2", 3.0]虽合法,但处理时容易出错

六、总结与练习

列表三要素
✅ 有序排列 ✅ 元素可变 ✅ 支持混合类型

嵌套列表:实现表格数据(如[[1,2,3], [4,5,6]]

动手挑战

  1. 用列表实现一个简易的「电影收藏夹」
  2. 编写代码自动计算购物车总价(假设每个商品对应一个价格列表)

彩蛋:试试这个魔法代码,感受列表的灵活性!

magic_list = [1, "Hello", [2, 3], {"name": "Python"}]
print(magic_list[2][1])  # 输出什么?欢迎在评论区中讨论、留言,给出您的答案

现在,你的菜篮子已经升级成智能购物车了!快去用列表整理你的数字生活吧 ,咱们下一章节再见~🛒🚀

由于本人功底有限,内容如若出现不足之处,欢迎在评论区留言,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值