字典解决什么问题
列表用编号找东西(第 0 个、第 1 个),但很多时候我们想用名字找:小明的电话、苹果的价格。字典就是「用名字查值」的容器。
用「通讯录」理解:左边名字、右边电话,报名字就能查到。这里的「名字」叫键(key),「内容」叫值(value)。
创建与按键取值
用花括号 {} 创建,一对对 键:值 用冒号连、逗号隔;用方括号 + 键取值:
person = {"name": "小明", "age": 18}
person["name"] # "小明"
person["age"] # 18注意方括号里填的是键的名字,不是编号。这是字典和列表最大的不同。
增 / 改 / 删
- 增改:
person["phone"] = "138..."。键不存在就新增,键已存在就覆盖旧值,Python 自己判断。 - 删:
del person["age"],把整对键值都去掉。 - 查键:
"name" in person返回 True/False(查的是键,不是值)。
三种遍历:keys / values / items
for k in person.keys(): # 只要键
print(k)
for k, v in person.items(): # 键值成对
print(k, "→", v)最常用的是 items() 配「for k, v in」:一次拿到键 k 和值 v。这其实就是上一课的元组解包。要遍历整本字典,记住它准没错。
字典 vs 列表
列表靠编号(0、1、2…)按位置索引;字典靠键(有意义的名字)索引。数据是「一排同类的东西」用列表,是「名字→内容的对应」用字典。两者都用方括号取值,但列表填编号、字典填键。