Python 字典入门:用键值对管好你的数据
【摘要】 字典用键值对存数据,本文从创建、取值、增改、删除、遍历讲起,配可运行代码和三个新手常踩的坑,适合 Python 初学者入门。
列表用位置找东西,字典用名字找东西。如果你要存一个学生的姓名、年龄和城市,用列表写成 ['小明', 18, '深圳'],过几天再看,很容易忘记 18 是年龄还是学号。换成字典,数据就有了名字,读起来一目了然。
一、字典是什么
字典(dict)由一对对“键(key)— 值(value)”组成,键就像抽屉上的标签,值就是抽屉里的东西。键必须是唯一的,而且一般用字符串、数字这样不可变的类型。
student = {"name": "小明", "age": 18, "city": "深圳"}
print(student)
二、取值:用键找值
用方括号加键就能取到对应的值:
print(student["name"]) # 小明
print(student["age"]) # 18
更稳妥的办法是用 get()。键不存在时,方括号会报错,get() 只会返回 None,还可以自己指定默认值:
print(student.get("score")) # None,不报错
print(student.get("score", 0)) # 0
三、新增和修改:写法一样
给一个已有的键赋值就是修改,给一个新键赋值就是新增,语法完全一样:
student["age"] = 19 # 修改
student["score"] = 95 # 新增
print(student)
四、删除一对键值
del student["city"]
print(student)
只想取走一个值并删掉它,可以用 pop(),它会把取到的值返回给你:
score = student.pop("score")
print(score) # 95
五、遍历字典
遍历键、遍历值、同时遍历键和值,是三种最常用的写法:
for key in student:
print(key)
for value in student.values():
print(value)
for key, value in student.items():
print(key, value)
六、字典里还可以放字典
真实数据常常是嵌套的,比如一个班级里有多个学生:
class_info = {
"小明": {"age": 18, "score": 95},
"小红": {"age": 17, "score": 88},
}
print(class_info["小红"]["score"]) # 88
七、三个新手常踩的坑
- 键写错一个字就会报
KeyError,取值前先想想该用get()还是方括号。 - 字典是无序还是有序?Python 3.7 起字典会记住插入顺序,但不要用顺序来表达业务含义。
- 不要用可变对象(比如列表)做键,字典的键必须是不可变类型。
八、动手练一练
做一个单词本:用字典存三个英语单词和中文意思,再用 input() 让用户输入一个单词,查不到就提示“单词本里没有这个词,试试用 get() 给一个友好提示”。
words = {"apple": "苹果", "book": "书", "cat": "猫"}
word = input("请输入单词:")
print(words.get(word, "单词本里没有这个词"))
小结
字典的用法可以浓缩成一句话:用有意义的键,给数据贴上标签。先把创建、取值、增改、删除、遍历这五招练熟,下次需要“按名字找数据”的时候,你就知道该用字典而不是列表了。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)