Python 入门:用列表和字典把杂乱数据整理清楚

举报
yd_256764903 发表于 2026/11/02 15:40:37 2026/11/02
【摘要】 用列表和字典整理杂乱数据:列表按顺序装东西,字典按名字找东西,列表装字典是整理多条记录的实用组合。

刚开始学 Python 时,很多人会被两个问题卡住:数据一多就乱,写出来的代码越改越难读。其实不必先学很多库,先把列表和字典这两个最基础的结构用熟,日常整理数据的活就已经能做好大半。本文用一个整理成绩单的小例子,讲清楚它们各自适合做什么,以及组合起来怎么用。

一、列表:按顺序装东西

列表就是一排有顺序的格子,适合装同类的一组东西,比如一周的步数、一批学生的姓名。它的特点是顺序固定,可以按位置取,也可以从头到尾遍历。

scores = [88, 92, 75, 91, 84]
print(scores[0])
print(sum(scores) / len(scores))

上面这段代码先取第一项,再算平均分。列表很直观,但只靠位置记东西容易出错:时间一长,你很难记得第三个数字到底代表谁。位置变了,含义也就跟着变了,这就是只用列表整理复杂数据时的常见麻烦。

二、字典:按名字找东西

字典不靠位置,靠名字,也就是键。每个键对应一个值,找东西时直接说名字,不用数位置。这正好适合给一条记录起名字,比如姓名、科目、分数。

student = {"name": "小林", "math": 92, "english": 88}
print(student["math"])
student["english"] = 90

用字典的好处是可读性好,代码读起来像在说话。即使字段顺序变了,取值的写法也不用变。需要注意的是,键不能重复,重复写同一个键,后面的值会覆盖前面的值,旧数据就丢了。

三、组合起来:列表装记录,字典做记录

真正实用的做法是把两者组合:用列表装多条记录,每条记录用一个字典表示。这样既能遍历全部记录,也能按名字取每个字段。

students = [
    {"name": "小林", "math": 92},
    {"name": "小陈", "math": 85},
]
for s in students:
    print(s["name"], s["math"])

如果只想找出数学超过 90 分的人,再加一个条件判断就够了。先想清楚数据的形状,再写循环和判断,代码会比一上来就写复杂逻辑清爽得多。

四、新手常见的三个坑

第一,把数字和文字混在一个列表里做计算,结果很容易报错。先统一类型,再做运算。第二,用字典取值时拼错键名,程序会直接报错,写之前先确认键名有没有写对。第三,在循环里一边遍历列表一边删除元素,顺序会乱。需要删除时,先收集要删的项,循环结束后再处理。

结尾:先把形状想清楚

学 Python 不必贪多。遇到一堆数据时,先问自己两个问题:这些东西有没有顺序?每一条需不需要起名字?有顺序就用列表,需要名字就用字典,多条记录就用列表装字典。把形状想清楚,剩下的代码往往只是遍历、判断和取值。每天拿身边的一组小数据练一次,比如开销、读书记录或者运动步数,这种手感很快就能建立起来。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。