当前位置:首页>python>Python 数据容器:列表和字典让数据管理更简单

Python 数据容器:列表和字典让数据管理更简单

  • 2026-09-02 19:09:47
Python 数据容器:列表和字典让数据管理更简单

😫 你是不是也遇到过这些崩溃瞬间?

期末到了,老师让你整理全班30个同学的成绩。你打开Excel,一个个手动输入姓名、语文分、数学分、英语分……输到一半发现填错了一行,全部重来!或者你是个小老板,手里管着十几个员工的考核数据,每次查个人信息都要翻半天表格,急死人!

💡 告诉你个好消息:用Python的列表和字典,配合通义灵码AI插件,你只需要写几十行代码,就能搞出一个可以增删查改的成绩管理小工具!

🎁 读完这篇你能收获:看懂列表和字典是啥、会用AI插件自动生成代码、拥有一个真实可用的成绩管理脚本。

🏃 跟着做,5分钟就能跑起来第一个程序,小白必拿!


📖 先搞懂两个"超级收纳盒"

在动手写代码之前,咱们先用生活化的方式理解两个核心概念,保证你一听就懂。

🗂️ 列表(List):有序的购物清单

你去超市买东西,会列一张清单:牛奶、鸡蛋、苹果、面包。这张清单就是列表——有顺序、可以重复、随时增减。

在Python里,列表长这样:

# 📌 列表示例:存放同学姓名students = ["张三", "李四", "王五", "赵六"]#            第0个  第1个  第2个  第3个# 💡 注意:编号从0开始,不是从1开始!这是个小坑,记住就好

📦 字典(Dictionary):带标签的抽屉柜

你家有个抽屉柜,每个抽屉上贴着标签:袜子、钥匙、充电器……你要找东西,直接看标签就行,不用一个个翻。字典就是这样——用"标签(键)"找"内容(值)",超级精准。

# 📌 字典示例:存放一个学生的完整信息student_info = {"姓名": "张三",       # 键: 值"语文": 85,"数学": 92,"英语": 78}# 💡 用"键"来找"值",就像用抽屉标签找东西一样直接

🔧 环境准备(真的超简单)

⏰ 预计耗时:5分钟,装好就能用!

第一步:安装 VSCode

前往 code.visualstudio.com 下载,选 Windows 版本,一路点"下一步"安装完毕。

第二步:安装 Python

前往 python.org 下载最新版,安装时一定要勾选"Add Python to PATH"(这个勾很关键,别漏掉!)

第三步:在 VSCode 里安装通义灵码插件

  1. 1. 打开 VSCode,左侧点击那个像积木一样的"扩展"图标
  2. 2. 搜索框输入 通义灵码
  3. 3. 找到阿里云出品的插件,点击 安装
  4. 4. 安装完成后,左侧栏会出现通义灵码的图标,说明成功了!

📸 【截图位置:VSCode扩展商店搜索"通义灵码"的界面截图】

第四步:新建项目文件

在你电脑上新建一个文件夹,比如叫 成绩管理,用 VSCode 打开这个文件夹,然后新建一个文件叫 score_manager.py。


🤖 用通义灵码AI插件生成代码(这才是重点!)

🔥 重磅技巧来了:你不需要自己从零写代码,直接把需求告诉通义灵码,让AI帮你生成!

📝 第一步:打开通义灵码对话框

点击 VSCode 左侧通义灵码图标,打开对话窗口。

📝 第二步:输入这段提示词(直接复制)

请帮我用Python写一个学生成绩管理脚本,要求:1. 使用列表存储所有学生数据,每个学生用字典存储(包含姓名、语文、数学、英语)2. 实现以下功能:添加学生、查询学生成绩、显示所有学生、计算平均分3. 用命令行菜单交互,用户输入数字选择操作4. 代码每行都要有中文注释5. 适合Python零基础的人看懂

📝 第三步:把生成的代码插入文件

通义灵码会生成完整代码,点击代码块右上角的"插入到编辑器"按钮,代码就自动出现在你的 009.py 文件里了!


📝 完整脚本代码(含详细注释)

下面是完整代码,通义灵码会生成类似这样的内容,你也可以直接复制这份:

# 导入需要的系统模块import sys  # 导入系统模块用于程序控制# 创建一个空列表用来存储所有学生的信息students = []  # 学生数据列表,每个元素是一个字典# 定义添加学生信息的函数defadd_student():  # 定义添加学生函数# 提示用户输入学生姓名    name = input("请输入学生姓名:")  # 获取用户输入的姓名# 提示用户输入语文成绩    chinese = float(input("请输入语文成绩:"))  # 获取语文成绩并转换为小数# 提示用户输入数学成绩    math = float(input("请输入数学成绩:"))  # 获取数学成绩并转换为小数# 提示用户输入英语成绩    english = float(input("请输入英语成绩:"))  # 获取英语成绩并转换为小数# 创建一个字典存储学生信息    student = {"姓名": name, "语文": chinese, "数学": math, "英语": english}  # 学生信息字典# 将学生字典添加到学生列表中    students.append(student)  # 把学生信息加入列表# 提示添加成功print("学生信息添加成功!")  # 显示添加成功提示# 定义查询学生成绩的函数defquery_student():  # 定义查询学生函数# 提示用户输入要查询的学生姓名    name = input("请输入要查询的学生姓名:")  # 获取要查询的姓名# 创建一个标记变量,默认没找到    found = False# 标记是否找到学生# 遍历学生列表中的每个学生for student in students:  # 循环遍历所有学生# 判断当前学生姓名是否匹配if student["姓名"] == name:  # 如果姓名匹配# 显示找到的学生成绩print(f"姓名:{student['姓名']}")  # 显示学生姓名print(f"语文:{student['语文']}")  # 显示语文成绩print(f"数学:{student['数学']}")  # 显示数学成绩print(f"英语:{student['英语']}")  # 显示英语成绩# 计算并显示总分            total = student["语文"] + student["数学"] + student["英语"]  # 计算总分print(f"总分:{total}")  # 显示总分# 标记已找到            found = True# 设置找到标记为真# 跳出循环break# 找到后退出循环# 如果没找到学生,提示用户ifnot found:  # 如果没有找到学生print("未找到该学生!")  # 显示未找到提示# 定义显示所有学生信息的函数defshow_all():  # 定义显示所有学生函数# 判断学生列表是否为空iflen(students) == 0:  # 如果列表长度为 0print("暂无学生信息!")  # 显示暂无数据提示return# 直接返回结束函数# 显示表头信息print("=" * 50)  # 打印分隔线print("所有学生信息:")  # 显示标题print("=" * 50)  # 打印分隔线# 遍历并显示每个学生信息for student in students:  # 循环遍历所有学生# 显示学生姓名print(f"姓名:{student['姓名']}")  # 显示姓名# 显示各科成绩print(f"语文:{student['语文']},数学:{student['数学']},英语:{student['英语']}")  # 显示成绩# 计算平均分        avg = (student["语文"] + student["数学"] + student["英语"]) / 3# 计算平均分# 显示平均分print(f"平均分:{avg:.2f}")  # 显示平均分保留 2 位小数print("-" * 50)  # 打印分隔线# 定义计算平均分的函数defcalculate_average():  # 定义计算平均分函数# 判断学生列表是否为空iflen(students) == 0:  # 如果列表长度为 0print("暂无学生信息!")  # 显示暂无数据提示return# 直接返回结束函数# 初始化语文总分为 0    chinese_total = 0# 语文总分# 初始化数学总分为 0    math_total = 0# 数学总分# 初始化英语总分为 0    english_total = 0# 英语总分# 遍历所有学生累加成绩for student in students:  # 循环遍历所有学生# 累加语文成绩        chinese_total += student["语文"]  # 累加语文分数# 累加数学成绩        math_total += student["数学"]  # 累加数学分数# 累加英语成绩        english_total += student["英语"]  # 累加英语分数# 获取学生总数    count = len(students)  # 学生人数# 计算各科平均分    chinese_avg = chinese_total / count  # 语文平均分    math_avg = math_total / count  # 数学平均分    english_avg = english_total / count  # 英语平均分# 显示统计结果print("=" * 50)  # 打印分隔线print("成绩统计:")  # 显示标题print("=" * 50)  # 打印分隔线# 显示语文平均分print(f"语文平均分:{chinese_avg:.2f}")  # 显示语文平均分# 显示数学平均分print(f"数学平均分:{math_avg:.2f}")  # 显示数学平均分# 显示英语平均分print(f"英语平均分:{english_avg:.2f}")  # 显示英语平均分print("=" * 50)  # 打印分隔线# 定义显示菜单的函数defshow_menu():  # 定义显示菜单函数# 显示菜单标题print("=" * 50)  # 打印分隔线print("学生成绩管理系统")  # 显示系统标题print("=" * 50)  # 打印分隔线# 显示选项 1print("1. 添加学生信息")  # 显示添加选项# 显示选项 2print("2. 查询学生成绩")  # 显示查询选项# 显示选项 3print("3. 显示所有学生")  # 显示显示所有选项# 显示选项 4print("4. 计算平均分")  # 显示计算平均分选项# 显示选项 5print("5. 退出系统")  # 显示退出选项print("=" * 50)  # 打印分隔线# 定义主函数defmain():  # 定义主函数# 创建无限循环whileTrue:  # 无限循环# 显示菜单        show_menu()  # 调用显示菜单函数# 获取用户选择        choice = input("请输入选项 (1-5):")  # 获取用户输入# 判断用户选择if choice == "1":  # 如果选择 1            add_student()  # 调用添加学生函数elif choice == "2":  # 如果选择 2            query_student()  # 调用查询学生函数elif choice == "3":  # 如果选择 3            show_all()  # 调用显示所有函数elif choice == "4":  # 如果选择 4            calculate_average()  # 调用计算平均分函数elif choice == "5":  # 如果选择 5print("感谢使用,再见!")  # 显示告别信息break# 退出循环else:  # 如果输入其他print("输入无效,请重新输入!")  # 显示错误提示# 暂停等待用户按键input("按回车键继续...")  # 等待用户按回车# 程序入口if __name__ == "__main__":  # 如果是主程序运行    main()  # 调用主函数

🚀 运行步骤(手把手)

第一步:在 VSCode 里打开终端

按快捷键 Ctrl + ~(波浪号键),VSCode 下方会弹出一个黑色窗口,这就是终端。

第二步:运行脚本

在终端里输入下面这行命令,按回车:

python 009.py

第三步:看到欢迎界面就成功了!

第四步:试着添加几个学生

输入 1 回车,然后按提示输入姓名和成绩。添加学生后,输入 2 查看全班成绩,一张漂亮的成绩表就出来了!


🤖 用通义灵码继续升级代码

🔥 进阶玩法:代码跑起来之后,你还可以继续让通义灵码帮你加功能!

提示词示例一(加删除功能):

在上面的学生成绩管理代码里,帮我增加一个"删除学生"的功能,根据姓名删除,如果找不到要给出提示,代码风格和原来保持一致

提示词示例二(加保存功能):

帮我把学生数据保存到一个叫scores.txt的文件里,程序启动时自动读取,退出时自动保存,用中文注释解释每一步

把这些提示词发给通义灵码,它会直接帮你补全代码,你只需要把新代码复制进去就行!


⚠️ 遇到报错别慌!对照这张表

报错信息
中文意思
解决方法
python: command not found
找不到Python
重新安装Python,记得勾选"Add to PATH"
SyntaxError
代码格式有问题
检查是否有中文标点(用英文的冒号和引号)
ValueError: invalid literal
输入了非数字
成绩输入框只能输数字,不能输汉字
IndentationError
缩进不对
代码前面的空格不能乱改,保持原样
中文显示乱码
编码问题
文件第一行加上 # -*- coding: utf-8 -*-

💡 万能解决方法:把报错信息直接复制粘贴给通义灵码,说"我运行这段代码报错了,帮我修复",AI会直接告诉你怎么改!


🎨 个性化改造,让它变成你的专属工具

改成员工考核版

只需要把变量名和科目名换掉:

# 把 "语文""数学""英语" 换成你需要的字段employee = {"姓名": "小王","工作态度": 90,"业绩完成率": 85,"团队协作": 88}

改成商品库存版

product = {"商品名": "可乐","库存数量": 100,"单价": 3.5,"销售量": 45}

核心思路就是:字典里的"键"你可以随便改成任何你需要的字段名,列表负责把所有条目存起来,逻辑完全一样!


✅ 今天你学会了三件大事

第一件:搞懂了列表和字典——列表是有序的"花名册",字典是带标签的"档案袋",两者组合起来能管理任何结构化数据。

第二件:学会用通义灵码AI插件——不用自己从零写代码,把需求用大白话描述给AI,它帮你生成,你负责复制粘贴和运行。

第三件:跑起来了一个真实可用的成绩管理脚本——以后再也不用手动翻Excel找成绩了,输个名字3秒出结果!


🚀 现在就去试试吧!打开VSCode,装上通义灵码,把代码跑起来,感受一下"我也会编程"的成就感——这种感觉,真的会上瘾的!

遇到问题别憋着,评论区留言,咱们一起搞定它!你还有哪些重复性工作想用脚本自动化?说出来,下一篇就写你的需求!

最新文章

随机文章